diff options
author | jfb <jfb@chromium.org> | 2015-02-10 11:09:19 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-10 19:10:08 +0000 |
commit | f67a7e57e634224c7c9db4879db9f56da11ab38c (patch) | |
tree | f01c4111ef887ec614cd25f8b1baaa0e5cde5488 /native_client_sdk | |
parent | 4bae080cd216ea0fb0e840c016d6f58a4f406dca (diff) | |
download | chromium_src-f67a7e57e634224c7c9db4879db9f56da11ab38c.zip chromium_src-f67a7e57e634224c7c9db4879db9f56da11ab38c.tar.gz chromium_src-f67a7e57e634224c7c9db4879db9f56da11ab38c.tar.bz2 |
NaCl docs: clarify Chrome apps instead of packaged apps
R= binji@chromium.org, bradnelson@chromium.org
BUG= none
Review URL: https://codereview.chromium.org/912633002
Cr-Commit-Position: refs/heads/master@{#315608}
Diffstat (limited to 'native_client_sdk')
15 files changed, 138 insertions, 133 deletions
diff --git a/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html index 1123f9e..0c525b1 100644 --- a/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html +++ b/native_client_sdk/doc_generated/devguide/devcycle/dynamic-loading.html @@ -314,34 +314,35 @@ the list of shared library dependencies using tools such as <code>objdump_</code <h3 id="deploying-a-dynamically-linked-application">Deploying a dynamically linked application</h3> <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="http://code.google.com/p/naclports/">naclports</a> or from -<a class="reference external" href="../../community/middleware">middleware systems</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> +modules from the application itself (<code>.nexe</code> and <code>.so</code> files), modules from +the Native Client SDK (e.g., <code>libppapi_cpp.so</code>), and perhaps also modules from +<a class="reference external" href="http://code.google.com/p/naclports/">naclports</a> or from <a class="reference external" href="../../community/middleware">middleware systems</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 a <a class="reference external" href="/apps">Chrome app</a>:</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>The web store documentation contains a handy guide to <a class="reference external" href="https://developer.chrome.com/webstore/choosing">help you choose which to +use</a>.</p> <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 +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 <code>-L</code> 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> +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> <h3 id="opening-a-shared-library-at-runtime">Opening a shared library at runtime</h3> <p>Native Client supports a version of the POSIX standard <code>dlopen()</code> interface for opening libraries explicitly, after an application is already running. diff --git a/native_client_sdk/doc_generated/devguide/devcycle/running.html b/native_client_sdk/doc_generated/devguide/devcycle/running.html index a03f7f9e..c501a36 100644 --- a/native_client_sdk/doc_generated/devguide/devcycle/running.html +++ b/native_client_sdk/doc_generated/devguide/devcycle/running.html @@ -4,25 +4,25 @@ <span id="devcycle-running"></span><h1 id="running"><span id="devcycle-running"></span>Running</h1> <div class="contents local" id="contents" style="display: none"> <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> +<li><a class="reference internal" href="#introduction" id="id6">Introduction</a></li> +<li><a class="reference internal" href="#portable-native-client-pnacl-applications" id="id7">Portable Native Client (PNaCl) applications</a></li> +<li><a class="reference internal" href="#native-client-applications-and-the-chrome-web-store" id="id8">Native Client applications and the Chrome Web Store</a></li> +<li><p class="first"><a class="reference internal" href="#prerequisites" id="id9">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> +<li><a class="reference internal" href="#browser-and-pepper-versions" id="id10">Browser and Pepper versions</a></li> +<li><a class="reference internal" href="#chrome-cache" id="id11">Chrome Cache</a></li> </ul> </li> -<li><p class="first"><a class="reference internal" href="#requirements" id="id11">Requirements</a></p> +<li><p class="first"><a class="reference internal" href="#requirements" id="id12">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> +<li><a class="reference internal" href="#native-client-flag" id="id13">Native Client flag</a></li> +<li><a class="reference internal" href="#web-server" id="id14">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> +<li><a class="reference internal" href="#technique-1-local-server" id="id15">Technique 1: Local server</a></li> +<li><a class="reference internal" href="#technique-2-packaged-application-loaded-as-an-unpacked-extension" id="id16">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="id17">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="id18">Technique 4: Chrome Web Store application with trusted testers</a></li> </ul> </div><h2 id="introduction">Introduction</h2> @@ -50,16 +50,21 @@ 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> +application metadata to the CWS. Learn more on the <a class="reference external" href="/apps">Chrome App</a> +documentation page.</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> +assets and metadata, to the CWS. Learn more on the <a class="reference external" href="/apps">Chrome App</a> +documentation page.</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> +application, including all application assets and metadata, to the CWS. Learn +more on the <a class="reference external" href="/extensions">Chrome extensions</a> documentation page.</li> </ul> +<p>The web store documentation contains a handy guide to <a class="reference external" href="https://developer.chrome.com/webstore/choosing">help you choose which to +use</a>.</p> <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. @@ -166,7 +171,7 @@ using, type <code>about:version</code> in the Chrome address bar.</p> 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> -<h2 id="requirements"><span id="id1"></span>Requirements</h2> +<h2 id="requirements"><span id="id2"></span>Requirements</h2> <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 @@ -194,7 +199,7 @@ outside the Chrome Web Store, you may need to enable the Native Client plugin:</ the Native Client plugin. You do not need to relaunch Chrome after enabling the Native Client plugin.</li> </ol> -<h3 id="web-server"><span id="id2"></span>Web server</h3> +<h3 id="web-server"><span id="id3"></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 @@ -313,7 +318,7 @@ Click the icon to launch the app.</li> <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="/webstore/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> +<p>See also <a class="reference internal" href="/native-client/sdk/examples.html#run-sdk-examples-as-packaged"><em>Run the SDK examples as Chrome apps</em></a>.</p> <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 diff --git a/native_client_sdk/doc_generated/devguide/distributing.html b/native_client_sdk/doc_generated/devguide/distributing.html index 3104160..e6eaf520 100644 --- a/native_client_sdk/doc_generated/devguide/distributing.html +++ b/native_client_sdk/doc_generated/devguide/distributing.html @@ -4,13 +4,13 @@ <span id="distributing"></span><h1 id="distributing-your-application"><span id="distributing"></span>Distributing Your Application</h1> <div class="contents local" id="contents" style="display: none"> <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> +<li><a class="reference internal" href="#portable-native-client" id="id2">Portable Native Client</a></li> +<li><p class="first"><a class="reference internal" href="#non-portable-native-client" id="id3">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> +<li><a class="reference internal" href="#chrome-apps" id="id4">Chrome apps</a></li> +<li><a class="reference internal" href="#extension" id="id5">Extension</a></li> +<li><a class="reference internal" href="#hosted-application" id="id6">Hosted application</a></li> +<li><a class="reference internal" href="#registering-native-client-modules-to-handle-mime-types" id="id7">Registering Native Client modules to handle MIME types</a></li> </ul> </li> </ul> @@ -41,26 +41,24 @@ well. Here are a few pointers to relevant documentation:</p> <ul class="small-gap"> <li><a class="reference external" href="/webstore">CWS Overview</a></li> <li><a class="reference external" href="/webstore/choosing">Choosing an App Type</a></li> -<li><a class="reference external" href="/apps/about_apps">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="/apps">Getting started with Chrome apps</a></li> <li><a class="reference external" href="/extensions">Chrome extensions</a></li> </ul> <p>In this document, we’ll focus only on distribution issues specific to applications that contain NaCl modules.</p> -<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="/apps/about_apps">Packaged Apps</a> -for more information about creating a packaged application.</p> +<h3 id="chrome-apps"><span id="distributing-packaged"></span>Chrome apps</h3> +<p>A Chrome app 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="/apps">Chrome Apps</a> for more information about +creating a Chrome app.</p> <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 +<p>As described above, to upload a Chrome 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 @@ -226,7 +224,7 @@ function getPath(name) { <li><p class="first">Test your app, create a zip file, and upload the app to the CWS as before.</p> </li> </ol> -<h4 id="additional-considerations-for-a-packaged-application"><span id="additional-considerations-packaged"></span>Additional considerations for a packaged application</h4> +<h4 id="additional-considerations-for-a-chrome-app"><span id="additional-considerations-packaged"></span>Additional considerations for a Chrome app</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 @@ -247,7 +245,7 @@ example:</p> 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>For Chrome apps, 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="/webstore/publish">Publishing to test accounts</a> for more information.</li> </ul> @@ -259,7 +257,7 @@ apply to extensions as well.</p> 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> +<p>In addition, see <a class="reference internal" href="#additional-considerations-packaged"><em>Additional considerations for a Chrome apps</em></a>.</p> <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 diff --git a/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html index 08a753b..750d694 100644 --- a/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html +++ b/native_client_sdk/doc_generated/devguide/tutorial/tutorial-part2.html @@ -33,7 +33,7 @@ <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 <a class="reference external" href="/apps/contentSecurityPolicy">Content Security Policy (CSP)-compliant</a>, which is necessary for <a class="reference external" href="/apps/about_apps">Chrome Apps</a>.</p> +application <a class="reference external" href="/apps/contentSecurityPolicy">Content Security Policy (CSP)-compliant</a>, which is necessary for <a class="reference external" href="/apps">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 @@ -202,8 +202,7 @@ $(eval $(call NMF_RULE,$(TARGET),)) </pre> <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="/apps/about_apps">Chrome App</a>, but is not necessary if you want to use PNaCl on the open -web.</p> +part1 CSP-compliant. This is required if you want to build a <a class="reference external" href="/apps">Chrome App</a>, but is not necessary if you want to use PNaCl on the open web.</p> <h3 id="csp-rules">CSP rules</h3> <p><a class="reference external" href="/apps/contentSecurityPolicy#what">Chrome Apps CSP</a> restricts you from doing the following:</p> diff --git a/native_client_sdk/doc_generated/faq.html b/native_client_sdk/doc_generated/faq.html index f2dbf39..e165eee 100644 --- a/native_client_sdk/doc_generated/faq.html +++ b/native_client_sdk/doc_generated/faq.html @@ -421,10 +421,10 @@ source change.</p> <ul class="small-gap"> <li>Code that does direct <a class="reference external" href="pepper_stable/cpp/classpp_1_1_t_c_p_socket">TCP</a> or <a class="reference external" href="pepper_stable/cpp/classpp_1_1_u_d_p_socket">UDP</a> networking. For security -reasons these APIs are only available to <a class="reference external" href="/apps/about_apps">packaged applications</a> after asking for the appropriate permissions, not on the -open web. Native Client is otherwise restricted to the networking APIs -available in the browser. You may want to use to <a class="reference external" href="nacl_io">nacl_io library</a> -to use POSIX-like sockets.</li> +reasons these APIs are only available to <a class="reference external" href="/apps">Chrome apps</a> after asking +for the appropriate permissions, not on the open web. Native Client is +otherwise restricted to the networking APIs available in the browser. You may +want to use to <a class="reference external" href="nacl_io">nacl_io library</a> to use POSIX-like sockets.</li> <li>Code that creates processes, including UNIX <code>fork</code>, won’t function as-is. However, threads are supported. You can nonetheless create new <code><embed></code> tags in your HTML page to launch new PNaCl processes. You can even diff --git a/native_client_sdk/doc_generated/sdk/examples.html b/native_client_sdk/doc_generated/sdk/examples.html index fd3296e..6c890f5 100644 --- a/native_client_sdk/doc_generated/sdk/examples.html +++ b/native_client_sdk/doc_generated/sdk/examples.html @@ -164,17 +164,16 @@ $ export CHROME_PATH=<Path to Google Chrome> </pre> </li> </ul> -<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 application. 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 (<code>manifest.json</code>), an icon, and all of the regular Native Client -application files. Refer to <a class="reference external" href="/apps/about_apps">What are Chrome Apps</a> for more -information about creating a packaged application.</p> +<h2 id="run-the-sdk-examples-as-chrome-apps"><span id="run-sdk-examples-as-packaged"></span>Run the SDK examples as Chrome apps</h2> +<p>Each example can also be launched as a Chrome apps. A Chrome app 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 +(<code>manifest.json</code>), an icon, and all of the regular Native Client application +files. Refer to <a class="reference external" href="/apps">What are Chrome Apps</a> for more information about +creating a Chrome app.</p> <p>Some Pepper features, such as <a class="reference external" href="pepper_stable/cpp/classpp_1_1_t_c_p_socket">TCP</a> or <a class="reference external" href="pepper_stable/cpp/classpp_1_1_u_d_p_socket">UDP</a> socket access, are only allowed -in <a class="reference external" href="/apps/about_apps">packaged applications</a>. The examples that use these -features must be run as <a class="reference external" href="/apps/about_apps">packaged applications</a>, by using -the following command:</p> +in <a class="reference external" href="/apps">Chrome apps</a>. The examples that use these features must be run as +<a class="reference external" href="/apps">Chrome apps</a>, by using the following command:</p> <pre class="prettyprint"> $ make run_package </pre> diff --git a/native_client_sdk/doc_generated/sdk/release-notes.html b/native_client_sdk/doc_generated/sdk/release-notes.html index 82661cf..55e2f13 100644 --- a/native_client_sdk/doc_generated/sdk/release-notes.html +++ b/native_client_sdk/doc_generated/sdk/release-notes.html @@ -159,8 +159,8 @@ in the current <code>pepper_canary</code> bundle. Chrome 29 does not support .pe 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="/apps/about_apps">packaged apps</a>), or the -<code>--enable-nacl</code> flag (for other apps).</li> +<code>--enable-pnacl</code> flag (for <a class="reference external" href="/apps">Chrome 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> diff --git a/native_client_sdk/doc_generated/sitemap.html b/native_client_sdk/doc_generated/sitemap.html index 92044fc..e605318 100644 --- a/native_client_sdk/doc_generated/sitemap.html +++ b/native_client_sdk/doc_generated/sitemap.html @@ -37,7 +37,7 @@ <li class="toctree-l1"><a class="reference internal" href="/native-client/sdk/examples.html">Examples</a><ul class="small-gap"> <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#run-the-sdk-examples-as-chrome-apps">Run the SDK examples as Chrome 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> diff --git a/native_client_sdk/src/doc/devguide/devcycle/dynamic-loading.rst b/native_client_sdk/src/doc/devguide/devcycle/dynamic-loading.rst index 519ce1e..211aaef 100644 --- a/native_client_sdk/src/doc/devguide/devcycle/dynamic-loading.rst +++ b/native_client_sdk/src/doc/devguide/devcycle/dynamic-loading.rst @@ -308,15 +308,14 @@ Deploying a dynamically linked application 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 -`naclports <http://code.google.com/p/naclports/>`_ or from -`middleware systems <../../community/middleware>`_ that -the application uses. You must provide all of those modules as part of the -application deployment process. +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 +`naclports <http://code.google.com/p/naclports/>`_ or from `middleware systems +<../../community/middleware>`_ that the application uses. You must provide all +of those modules as part of the application deployment process. -As explained in :doc:`Distributing Your Application -<../distributing>`, there are two basic ways to deploy an application: +As explained in :doc:`Distributing Your Application <../distributing>`, there +are two basic ways to deploy a `Chrome app </apps>`_: * **hosted application:** all modules are hosted together on a web server of your choice @@ -324,21 +323,24 @@ As explained in :doc:`Distributing Your Application * **packaged application:** all modules are packaged into one file, hosted in the Chrome Web Store, and downloaded to the user's machine +The web store documentation contains a handy guide to `help you choose which to +use <https://developer.chrome.com/webstore/choosing>`_. + 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 +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 ``create_nmf.py``. 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 ``create_nmf.py`` 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. +available in the locations indicated by the manifest file. If you move or rename +modules, it may be easier to re-run ``create_nmf.py`` 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. Opening a shared library at runtime =================================== diff --git a/native_client_sdk/src/doc/devguide/devcycle/running.rst b/native_client_sdk/src/doc/devguide/devcycle/running.rst index 792b323..1109b9b 100644 --- a/native_client_sdk/src/doc/devguide/devcycle/running.rst +++ b/native_client_sdk/src/doc/devguide/devcycle/running.rst @@ -45,17 +45,23 @@ Store (CWS)**. Applications in the CWS are one of three types: * A **hosted application** 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. + application metadata to the CWS. Learn more on the `Chrome App </apps>`_ + documentation page. * A **packaged application** 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. + assets and metadata, to the CWS. Learn more on the `Chrome App </apps>`_ + documentation page. * An **extension** 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. + application, including all application assets and metadata, to the CWS. Learn + more on the `Chrome extensions </extensions>`_ documentation page. + +The web store documentation contains a handy guide to `help you choose which to +use <https://developer.chrome.com/webstore/choosing>`_. 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 diff --git a/native_client_sdk/src/doc/devguide/distributing.rst b/native_client_sdk/src/doc/devguide/distributing.rst index e834f08..10c69bb 100644 --- a/native_client_sdk/src/doc/devguide/distributing.rst +++ b/native_client_sdk/src/doc/devguide/distributing.rst @@ -45,8 +45,7 @@ well. Here are a few pointers to relevant documentation: * `CWS Overview </webstore>`_ * `Choosing an App Type </webstore/choosing>`_ -* `Getting started with packaged apps </apps/about_apps>`_ -* `Hosted apps <https://developers.google.com/chrome/apps/docs/developers_guide>`_ +* `Getting started with Chrome apps </apps>`_ * `Chrome extensions </extensions>`_ In this document, we'll focus only on distribution issues specific to @@ -54,15 +53,14 @@ applications that contain NaCl modules. .. _distributing_packaged: -Packaged application --------------------- +Chrome apps +----------- -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 -`Packaged Apps </apps/about_apps>`_ -for more information about creating a packaged application. +A Chrome app 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 `Chrome Apps </apps>`_ for more information about +creating a Chrome app. Reducing the size of the user download package ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -74,7 +72,7 @@ Reducing the size of the user download package Packaging an app in a multi-platform zip file can significantly reduce the download and storage requirements for the app. -As described above, to upload a packaged app to the CWS you have to create a zip +As described above, to upload a Chrome 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 @@ -239,8 +237,8 @@ Here is how to use this feature: .. _additional_considerations_packaged: -Additional considerations for a packaged application -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Additional considerations for a Chrome app +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 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 @@ -263,7 +261,7 @@ Additional considerations for a packaged application 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. -* For packaged applications, you can only use in-app purchases. +* For Chrome apps, you can only use in-app purchases. * You can place your application in the Google Web Store with access only to certain people for testing. See `Publishing to test accounts </webstore/publish>`_ for more information. @@ -282,7 +280,8 @@ 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. -In addition, see :ref:`Additional considerations for a packaged application <additional_considerations_packaged>`. +In addition, see :ref:`Additional considerations for a Chrome apps +<additional_considerations_packaged>`. Registering Native Client modules to handle MIME types ------------------------------------------------------ diff --git a/native_client_sdk/src/doc/devguide/tutorial/tutorial-part2.rst b/native_client_sdk/src/doc/devguide/tutorial/tutorial-part2.rst index 6cee489..6338b19 100644 --- a/native_client_sdk/src/doc/devguide/tutorial/tutorial-part2.rst +++ b/native_client_sdk/src/doc/devguide/tutorial/tutorial-part2.rst @@ -16,8 +16,7 @@ This tutorial shows how to convert the finished PNaCl web application from :doc:`Part 1 <tutorial-part1>` to use the Native Client SDK build system and common JavaScript files. It also demonstrates some techniques to make your web application `Content Security Policy (CSP)-compliant -</apps/contentSecurityPolicy>`_, which is necessary for `Chrome Apps -</apps/about_apps>`_. +</apps/contentSecurityPolicy>`_, which is necessary for `Chrome Apps </apps>`_. 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 @@ -232,8 +231,7 @@ Making index.html work for Chrome Apps 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 `Chrome App -</apps/about_apps>`_, but is not necessary if you want to use PNaCl on the open -web. +</apps>`_, but is not necessary if you want to use PNaCl on the open web. CSP rules --------- diff --git a/native_client_sdk/src/doc/faq.rst b/native_client_sdk/src/doc/faq.rst index 8c4fffa..e3a7b4e 100644 --- a/native_client_sdk/src/doc/faq.rst +++ b/native_client_sdk/src/doc/faq.rst @@ -495,11 +495,10 @@ The following kinds of code may be more challenging to port: * Code that does direct `TCP <pepper_stable/cpp/classpp_1_1_t_c_p_socket>`_ or `UDP <pepper_stable/cpp/classpp_1_1_u_d_p_socket>`_ networking. For security - reasons these APIs are only available to `packaged applications - </apps/about_apps>`_ after asking for the appropriate permissions, not on the - open web. Native Client is otherwise restricted to the networking APIs - available in the browser. You may want to use to `nacl_io library <nacl_io>`_ - to use POSIX-like sockets. + reasons these APIs are only available to `Chrome apps </apps>`_ after asking + for the appropriate permissions, not on the open web. Native Client is + otherwise restricted to the networking APIs available in the browser. You may + want to use to `nacl_io library <nacl_io>`_ to use POSIX-like sockets. * Code that creates processes, including UNIX ``fork``, won't function as-is. However, threads are supported. You can nonetheless create new ``<embed>`` tags in your HTML page to launch new PNaCl processes. You can even diff --git a/native_client_sdk/src/doc/sdk/examples.rst b/native_client_sdk/src/doc/sdk/examples.rst index a914b4a..21ad8b2 100644 --- a/native_client_sdk/src/doc/sdk/examples.rst +++ b/native_client_sdk/src/doc/sdk/examples.rst @@ -202,22 +202,21 @@ executable. .. _run_sdk_examples_as_packaged: -Run the SDK examples as packaged apps -------------------------------------- +Run the SDK examples as Chrome apps +----------------------------------- -Each example can also be launched as a packaged application. 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 `What are Chrome Apps </apps/about_apps>`_ for more -information about creating a packaged application. +Each example can also be launched as a Chrome apps. A Chrome app 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 `What are Chrome Apps </apps>`_ for more information about +creating a Chrome app. Some Pepper features, such as `TCP <pepper_stable/cpp/classpp_1_1_t_c_p_socket>`_ or `UDP <pepper_stable/cpp/classpp_1_1_u_d_p_socket>`_ socket access, are only allowed -in `packaged applications </apps/about_apps>`_. The examples that use these -features must be run as `packaged applications </apps/about_apps>`_, by using -the following command:: +in `Chrome apps </apps>`_. The examples that use these features must be run as +`Chrome apps </apps>`_, by using the following command:: $ make run_package diff --git a/native_client_sdk/src/doc/sdk/release-notes.rst b/native_client_sdk/src/doc/sdk/release-notes.rst index 003513d..e6cfc3c 100644 --- a/native_client_sdk/src/doc/sdk/release-notes.rst +++ b/native_client_sdk/src/doc/sdk/release-notes.rst @@ -206,8 +206,8 @@ PNaCl (15 May 2013) files produced by earlier versions of the pnacl toolchain (that is, executables compiled with the ``pepper_28`` bundle or earlier). * To run an application with a PNaCl module, you must launch Chrome 29 with the - ``--enable-pnacl`` flag (for `packaged apps </apps/about_apps>`_), or the - ``--enable-nacl`` flag (for other apps). + ``--enable-pnacl`` flag (for `Chrome apps </apps>`_), or the ``--enable-nacl`` + flag (for other apps). * When you launch Chrome with the ``--enable-pnacl`` flag, Chrome loads a PNaCl translator in the background. Wait about a minute after you launch Chrome and check `chrome://nacl <chrome://nacl>`_ to verify that the translator loaded. |