Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Side by Side Diff: native_client_sdk/src/doc/devguide/devcycle/running.rst

Issue 33593002: PNaClize and update the 'Devguide -> Running' page of the documentation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanups Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 .. _devcycle-running: 1 .. _devcycle-running:
2 2
3 ####### 3 #######
4 Running 4 Running
5 ####### 5 #######
6 6
7 .. contents:: Table Of Contents 7 .. contents::
8 :local: 8 :local:
9 :backlinks: none 9 :backlinks: none
10 :depth: 2 10 :depth: 2
11 11
12 Introduction 12 Introduction
13 ============ 13 ============
14 14
15 This document describes how to run Native Client applications during 15 This document describes how to run Native Client applications during
16 development. 16 development.
17 17
18 The workflow for PNaCl applications is straightfoward and will only be discussed
19 briefly. For NaCl applications distributed through the web-store, there is a
20 number of options and these will be discussed more in-depth.
21
22 Portable Native Client (PNaCl) applications
23 ===========================================
24
25 Running PNaCl applications from the open web is enabled in Chrome version 31 and
26 above; therefore, no special provisions are required to run and test such
27 applications locally. An application that uses a PNaCl module can be tested
28 similarly to any other web application that only consists of HTML, CSS and
29 JavaScript.
30
31 To better simulate a production environment, it's recommended to start a local
32 web server to serve the application's files. The NaCl SDK comes with a simple
33 local server built in, and the process of using it to run PNaCl applications is
34 described in :ref:`the tutorial <tutorial_step_2>`.
35
36 Native Client applications and the Chrome Web Store
37 ===================================================
38
18 Before reading about how to run Native Client applications, it's important to 39 Before reading about how to run Native Client applications, it's important to
19 understand a little bit about how Native Client applications are distributed. 40 understand a little bit about how Native Client applications are distributed.
20 As explained in :doc:`Distributing Your Application <../distributing>`, Native 41 As explained in :doc:`Distributing Your Application <../distributing>`, Native
21 Client applications must currently be distributed through the **Chrome Web 42 Client applications must currently be distributed through the **Chrome Web
22 Store (CWS)**. Applications in the CWS are one of three types: 43 Store (CWS)**. Applications in the CWS are one of three types:
23 44
24 * A **hosted application** is an application that you host on a server of your 45 * A **hosted application** is an application that you host on a server of your
25 choice. To distribute an application as a hosted application, you upload 46 choice. To distribute an application as a hosted application, you upload
26 application metadata to the CWS. 47 application metadata to the CWS.
27 48
28 * A **packaged application** is an application that is hosted in the CWS and 49 * A **packaged application** is an application that is hosted in the CWS and
29 downloaded to the user's machine. To distribute an application as a packaged 50 downloaded to the user's machine. To distribute an application as a packaged
30 application, you upload the entire application, including all application 51 application, you upload the entire application, including all application
31 assets and metadata, to the CWS. 52 assets and metadata, to the CWS.
32 53
33 * An **extension** is a packaged application that has a tiny UI component 54 * An **extension** is a packaged application that has a tiny UI component
34 (extensions are typically used to extend the functionality of the Chrome 55 (extensions are typically used to extend the functionality of the Chrome
35 browser). To distribute an application as an extension, you upload the entire 56 browser). To distribute an application as an extension, you upload the entire
36 application, including all application assets and metadata, to the CWS. 57 application, including all application assets and metadata, to the CWS.
37 58
38 It's clearly not convenient to package and upload files to the Chrome Web Store 59 It's clearly not convenient to package and upload files to the Chrome Web Store
39 every time you want to run a new build of your application, but there are four 60 every time you want to run a new build of your application, but there are four
40 alternative techniques you can use to run the application during development. 61 alternative techniques you can use to run the application during development.
41 These techniques are listed in the following table and described in detail 62 These techniques are listed in the following table and described in detail
42 below. Each technique has certain requirements (NaCl flag, web server, and/or 63 below. Each technique has certain requirements (NaCl flag, web server, and/or
43 CWS metadata); these are explained in the :ref:`Requirements <requirements>` 64 CWS metadata); these are explained in the :ref:`Requirements <requirements>`
44 section below. 65 section below.
45 66
46 +-----------+----------------------+---------------------+---------------------- -+-------------+ 67 .. list-table::
47 | Technique | Requires NaCl flag | Requires web server | Requires CWS metadata | Description | 68 :header-rows: 1
48 +===========+======================+=====================+====================== =+=============+
49 | 1 | local server | | | |
50 +-----------+----------------------+---------------------+---------------------- -+-------------+
51 | 2 | packaged application | | | |
52 | | loaded as an | | | |
53 | | unpacked extension | | | |
54 +-----------+----------------------+---------------------+---------------------- -+-------------+
55 | 3 | hosted application | | | |
56 | | loaded as an unpacked| | | |
57 | | extension | | | |
58 +-----------+----------------------+---------------------+---------------------- -+-------------+
59 | 4 | Chrome Web Store | | | |
60 | | application with | | | |
61 | | trusted testers | | | |
62 +-----------+----------------------+---------------------+---------------------- -+-------------+
63 69
64 Which of the above techniques you use to run your application during 70 * - #
65 development is largely a matter of personal preference (i.e., would you rather 71 - Technique
66 start a local server or create CWS metadata?). As a general rule, once you have 72 - Requires NaCl flag
67 an idea of how you plan to distribute your application, you should use the 73 - Requires Web Server
68 corresponding technique during development (technique # 2 for packaged 74 - Requires CWS Metadata
69 applications and extensions; technique # 3 for hosted applications). Choosing a 75 - Description
70 distribution option depends on a number of factors such as application size, 76 * - 1
71 application start-up time, hosting costs, offline functionality, etc. (see 77 - Local server
72 :doc:`Distributing Your Application <../distributing>` for details), but you 78 - |CHK|
73 don't need to make a decision about how to distribute your application at the 79 - |CHK|
74 outset. 80 -
81 - Run a local server and simply point your browser to your application on
82 the server.
83 * - 2
84 - Packaged application loaded as an unpacked extension
85 -
86 -
87 - |CHK|
88 - Load your packaged application into Chrome as an unpacked extension and
89 run it without a server. An unpacked extension is simply an application
90 whose source and metadata files are located in a plain (unzipped) folder
91 on your development machine. The CWS manifest file (explained below) must
92 specify a ``local_path`` field.
93 * - 3
94 - Hosted application loaded as an unpacked extension
95 -
96 - |CHK|
97 - |CHK|
98 - Load your hosted application into Chrome as an unpacked extension and run
99 it from a server (which can be a local server). The CWS manifest file
100 must specify a ``web_url`` field.
101 * - 4
102 - CWS application with untrusted testers
103 -
104 -
105 - |CHK|
106 - This is the standard technique for distributing a packaged or hosted
107 application in the CWS, but you can limit the application to a few
108 trusted testers. This technique requires a server if your application is
109 a hosted application.
110
111 .. |CHK| image:: /images/check-red.png
112
113 Which of the above techniques you use to run your application during development
114 is largely a matter of personal preference (i.e., would you rather start a local
115 server or create CWS metadata?). As a general rule, once you have an idea of how
116 you plan to distribute your application, you should use the corresponding
117 technique during development. Choosing a distribution option depends on a number
118 of factors such as application size, application start-up time, hosting costs,
119 offline functionality, etc. (see :doc:`Distributing Your Application
120 <../distributing>` for details), but you don't need to make a decision about how
121 to distribute your application at the outset.
75 122
76 The next two sections of this document describe a couple of prerequisites for 123 The next two sections of this document describe a couple of prerequisites for
77 running applications during development (using the correct version of Chrome 124 running applications during development, and explain the three requirements
78 and turning off the Chrome cache), and explain the three requirements listed in 125 listed in the table above (NaCl flag, web server, and CWS metadata). The
79 the table above (NaCl flag, web server, and CWS metadata). The subsequent 126 subsequent sections of the document provide instructions for how to use each of
80 sections of the document provide instructions for how to use each of the four 127 the four techniques.
81 techniques.
82 128
83 Prerequisites 129 Prerequisites
84 ============= 130 =============
85 131
86 Browser and Pepper versions 132 Browser and Pepper versions
87 --------------------------- 133 ---------------------------
88 134
89 Before you run a new build of your application, make sure that you're using the 135 Before you run a new build of your application, make sure that you're using the
90 correct version of Chrome. Each version of Chrome supports a corresponding 136 correct version of Chrome. Each version of Chrome supports a corresponding
91 version of the Pepper API. You (and your users) must use a version of Chrome 137 version of the Pepper API. You (and your users) must use a version of Chrome
92 that is equal to or higher than the version of the Pepper API that your 138 that is equal to or higher than the version of the Pepper API that your
93 application uses. For example, if you compiled your application using the 139 application uses. For example, if you compiled your application using the
94 ``pepper_28`` bundle, your application uses the Pepper 28 API, and you must run 140 ``pepper_31`` bundle, your application uses the Pepper 31 API, and you must run
95 the application in Chrome 28 or higher. To check which version of Chrome you're 141 the application in Chrome 31 or higher. To check which version of Chrome you're
96 using, type ``about:chrome`` or ``about:version`` in the Chrome address bar 142 using, type ``about:version`` in the Chrome address bar.
97 (the latter address shows additional information such as the Chrome command
98 line and profile path).
99
100 If your application requires a minimum version of Chrome, you are encouraged to
101 include code in the application to check that the user's browser is compatible
102 with the application. For sample code that checks the user's browser version,
103 refer to the ``load_progress`` example in the Native Client SDK.
104 143
105 Chrome Cache 144 Chrome Cache
106 ------------ 145 ------------
107 146
108 Chrome caches resources aggressively. You should disable Chrome's cache 147 Chrome caches resources aggressively. You should disable Chrome's cache whenever
109 whenever you are developing a Native Client application in order to make sure 148 you are developing a Native Client application in order to make sure Chrome
110 Chrome loads new versions of your application. To disable the cache: 149 loads new versions of your application. Follow the instructions :ref:`in the
111 150 tutorial <tutorial_step_3>`.
112 #. Open Chrome's developer tools by clicking the menu icon |menu-icon| and
113 choosing **Tools > Developer tools**.
114 #. Click the gear icon in the bottom right corner of the Chrome window.
115 #. Under the "General" settings, check the box next to "Disable cache".
116 151
117 .. _requirements: 152 .. _requirements:
118 153
119 Requirements 154 Requirements
120 ============ 155 ============
121 156
122 .. _flag: 157 .. _flag:
123 158
124 Native Client flag 159 Native Client flag
125 ------------------ 160 ------------------
126 161
127 Native Client is automatically enabled for applications that are installed from 162 Native Client is automatically enabled for applications that are installed from
128 the Chrome Web Store. To enable Native Client for applications that are not 163 the Chrome Web Store. To enable Native Client for applications that are not
129 installed from the Chrome Web Store, you must explicitly turn on the Native 164 installed from the Chrome Web Store, you must explicitly turn on the Native
130 Client flag in Chrome as follows: 165 Client flag in Chrome as follows:
131 166
132 #. Type ``about:flags`` in the Chrome address bar. 167 #. Type ``about:flags`` in the Chrome address bar.
133 #. Scroll down to "Native Client". 168 #. Scroll down to "Native Client".
134 #. If the link below "Native Client" says "Disable", then Native Client is 169 #. If the link below "Native Client" says "Disable", then Native Client is
135 already enabled and you don't need to do anything else. 170 already enabled and you don't need to do anything else.
136 #. If the link below "Native Client" says "Enable": 171 #. If the link below "Native Client" says "Enable":
137 172
138 * Click the "Enable" link. 173 * Click the "Enable" link.
139 * Scroll down to the bottom of the page and click the "Relaunch Now" button. 174 * Click the "Relaunch Now" button in the bottom of the screen. **Native
140 **Native Client will not be enabled until you relaunch your browser**. All 175 Client will not be enabled until you relaunch your browser**. All browser
141 browser windows will restart when you relaunch Chrome. 176 windows will restart when you relaunch Chrome.
142 177
143 If you enable the Native Client flag and still can't run applications from 178 If you enable the Native Client flag and still can't run applications from
144 outside the Chrome Web Store, you may need to enable the Native Client plugin: 179 outside the Chrome Web Store, you may need to enable the Native Client plugin:
145 180
146 #. Type ``about:plugins`` in the Chrome address bar. 181 #. Type ``about:plugins`` in the Chrome address bar.
147 #. Scroll down to "Native Client". 182 #. Scroll down to "Native Client".
148 #. If the link below "Native Client" says "Enable", click the link to enable 183 #. If the link below "Native Client" says "Enable", click the link to enable
149 the Native Client plugin. You do not need to relaunch Chrome after enabling 184 the Native Client plugin. You do not need to relaunch Chrome after enabling
150 the Native Client plugin. 185 the Native Client plugin.
151 186
152
153 .. _web_server: 187 .. _web_server:
154 188
155 Web server 189 Web server
156 ---------- 190 ----------
157 191
158 For security reasons, Native Client applications must come from a server (you 192 For security reasons, Native Client applications must come from a server (you
159 can't simply drag HTML files into your browser). The Native Client SDK comes 193 can't simply drag HTML files into your browser). The Native Client SDK comes
160 with a lightweight Python web server that you can run to serve your application 194 with a lightweight Python web server that you can run to serve your application
161 locally. The server is included in the ``examples`` directory in the SDK 195 locally. The server can be invoked from a Makefile. Here is how to run the
162 bundles (e.g., ``pepper_28/examples``). Here is how to run the server: 196 server:
163 197
164 * Windows:: 198 .. naclcode::
199 :prettyprint: 0
165 200
166 cd examples 201 $ cd examples
167 httpd.cmd 202 $ make serve
168 203
169 * Mac, Linux:: 204 By default, the server listens for requests on port 5103. You can use the server
170 205 to run any application under the ``examples`` directory where you started the
binji 2013/10/22 17:14:28 actually, some examples must be run with "make run
eliben 2013/10/22 18:01:51 Clarified
171 cd examples 206 server. For example, to run the ``flock`` example in the SDK, start the server
172 python httpd.py 207 and point your browser to http://localhost:5103/demo/flock/.
173
174 By default, the server listens for requests on port 5103. To use a different
175 port, simply specify a different port number, e.g.: ``python httpd.py 5104``.
176
177 You can use the server to run any application under the ``examples`` directory
178 where you started the server. For example, to run the
179 ``hello_world_interactive`` example in the SDK, start the server as described
180 above and point your browser to
181 http://localhost:5103/hello_world_interactive/hello_world.html.
182 208
183 .. _metadata: 209 .. _metadata:
184 210
185 Chrome Web Store metadata 211 Chrome Web Store metadata
186 ~~~~~~~~~~~~~~~~~~~~~~~~~ 212 ~~~~~~~~~~~~~~~~~~~~~~~~~
187 213
188 Applications published in the Chrome Web Store must be accompanied by CWS 214 Applications published in the Chrome Web Store must be accompanied by CWS
189 metadataspecifically, a Chrome Web Store manifest file named 215 metadata; specifically, a Chrome Web Store manifest file named
190 ``manifest.json``, and at least one icon. 216 ``manifest.json``, and at least one icon.
191 217
192 Below is an example of a CWS manifest file for a **hosted application**:: 218 Below is an example of a CWS manifest file for a **hosted application**:
219
220 .. naclcode::
193 221
194 { 222 {
195 "name": "My NaCl App", 223 "name": "My NaCl App",
196 "description": "Simple game implemented using Native Client", 224 "description": "Simple game implemented using Native Client",
197 "version": "0.1", 225 "version": "0.1",
198 "icons": { 226 "icons": {
199 "128": "nacl_icon_128.jpg" 227 "128": "nacl_icon_128.jpg"
200 }, 228 },
201 "app": { 229 "app": {
202 "urls": [ 230 "urls": [
203 "http://mysubdomain.example.com/" 231 "http://mysubdomain.example.com/"
204 ], 232 ],
205 "launch": { 233 "launch": {
206 "web_url": "http://mysubdomain.example.com/my_app_main_page.html" 234 "web_url": "http://mysubdomain.example.com/my_app_main_page.html"
207 } 235 }
208 } 236 }
209 } 237 }
210 238
211 239
212 For a **packaged application**, you can omit the urls field, and replace the 240 For a **packaged application**, you can omit the urls field, and replace the
213 ``web_url`` field with a ``local_path`` field, as shown below:: 241 ``web_url`` field with a ``local_path`` field, as shown below:
242
243 .. naclcode::
214 244
215 { 245 {
216 "name": "My NaCl App", 246 "name": "My NaCl App",
217 "description": "Simple game implemented using Native Client", 247 "description": "Simple game implemented using Native Client",
218 "version": "0.1", 248 "version": "0.1",
219 "icons": { 249 "icons": {
220 "16": "nacl_icon_16.jpg", 250 "16": "nacl_icon_16.jpg",
221 "128": "nacl_icon_128.jpg" 251 "128": "nacl_icon_128.jpg"
222 }, 252 },
223 "app": { 253 "app": {
224 "launch": { 254 "launch": {
225 "local_path": "my_app_main_page.html" 255 "local_path": "my_app_main_page.html"
226 } 256 }
227 } 257 }
228 } 258 }
229 259
230 You must put the ``manifest.json`` file in the same directory as your 260 You must put the ``manifest.json`` file in the same directory as your
231 application's main HTML page. 261 application's main HTML page.
232 262
233 If you don't have icons for your application, you can use the following icons 263 If you don't have icons for your application, you can use the following icons as
234 as placeholders: nacl_icon_16.jpg and nacl_icon_128.jpg. Put the icons in the 264 placeholders:
235 same directory as the CWS manifest file.
236 265
237 For more information about CWS manifest files and application icons, see: 266 |ICON16|
267
268 |ICON128|
269
270 .. |ICON16| image:: /images/nacl_icon_16.jpg
binji 2013/10/22 17:14:28 these icons don't look quite right to me. Rectangu
eliben 2013/10/22 18:01:51 Done.
271 .. |ICON128| image:: /images/nacl_icon_128.jpg
272
273 Put the icons in the same directory as the CWS manifest file. For more
274 information about CWS manifest files and application icons, see:
238 275
239 * `Chrome Web Store Tutorial: Getting Started 276 * `Chrome Web Store Tutorial: Getting Started
240 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_ 277 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_
241 * `Chrome Web Store Formats: Manifest Files 278 * `Chrome Web Store Formats: Manifest Files
242 <http://code.google.com/chrome/extensions/manifest.html>`_ 279 <http://code.google.com/chrome/extensions/manifest.html>`_
243 280
244 Technique 1: Local server 281 Technique 1: Local server
245 ========================= 282 =========================
246 283
247 To run your application from a local server: 284 To run your application from a local server:
248 285
249 * Enable the :ref:`Native Client flag <flag>` in Chrome. 286 * Enable the :ref:`Native Client flag <flag>` in Chrome.
250 * Start a :ref:`local web server <web_server>`. 287 * Start a :ref:`local web server <web_server>`.
251 * Put your application under the examples directory in the SDK bundle you are 288 * Put your application under the examples directory in the SDK bundle you are
252 using (e.g., in the directory ``pepper_28/examples/my_app``). 289 using (e.g., in the directory ``pepper_31/examples/my_app``).
253 * Access your application on the local server by typing the location of its 290 * Access your application on the local server by typing the location of its
254 HTML file in Chrome, e.g.: 291 HTML file in Chrome, e.g.:
255 ``http://localhost:5103/my_app/my_app_main_page.html``. 292 ``http://localhost:5103/my_app/my_app_main_page.html``.
256 293
257 .. Note:: 294 .. Note::
258 :class: note 295 :class: note
259 296
260 **Note:** You don't have to use a local web server---you can use another 297 **Note:** You don't have to use a local web server---you can use another
261 server if you already have one running. You must still enable the Native 298 server if you already have one running. You must still enable the Native
262 Client flag in order to run your application from your server. 299 Client flag in order to run your application from the server.
263 300
264 Technique 2: Packaged application loaded as an unpacked extension 301 Technique 2: Packaged application loaded as an unpacked extension
265 ================================================================= 302 =================================================================
266 303
267 For development purposes, Chrome lets you load a packaged application as an 304 For development purposes, Chrome lets you load a packaged application as an
268 unpacked extension. To load and run your packaged application as an unpacked 305 unpacked extension. To load and run your packaged application as an unpacked
269 extension: 306 extension:
270 307
271 #. Create a Chrome Web Store manifest file and one or more icons for your 308 #. Create a Chrome Web Store manifest file and one or more icons for your
272 application. 309 application.
(...skipping 20 matching lines...) Expand all
293 Click the icon to launch the app. 330 Click the icon to launch the app.
294 331
295 For additional information about how to create CWS metadata and load your 332 For additional information about how to create CWS metadata and load your
296 application into Chrome (including troubleshooting information), see the 333 application into Chrome (including troubleshooting information), see the
297 `Chrome Web Store Tutorial: Getting Started 334 `Chrome Web Store Tutorial: Getting Started
298 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_. 335 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_.
299 336
300 Technique 3: Hosted application loaded as an unpacked extension 337 Technique 3: Hosted application loaded as an unpacked extension
301 =============================================================== 338 ===============================================================
302 339
303
304 For development purposes, Chrome lets you load a hosted application as an 340 For development purposes, Chrome lets you load a hosted application as an
305 unpacked extension. To load and run your hosted application as an unpacked 341 unpacked extension. To load and run your hosted application as an unpacked
306 extension: 342 extension:
307 343
308 #. Start a web server to serve your application. 344 #. Start a web server to serve your application.
309 345
310 * You can use the :ref:`local web server <web_server>` included with the 346 * You can use the :ref:`local web server <web_server>` included with the
311 Native Client SDK if you want. 347 Native Client SDK if you want.
312 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.) 348 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.)
313 to the server. 349 to the server.
314 350
315 * If you're using the local server included with the Native Client SDK, 351 * If you're using the local server included with the Native Client SDK,
316 simply put your application under the ``examples`` directory in the SDK 352 simply put your application under the ``examples`` directory in the SDK
317 bundle you are using (e.g., in the directory 353 bundle you are using (e.g., in the directory
318 ``pepper_28/examples/my_app``). 354 ``pepper_31/examples/my_app``).
319 #. Create a Chrome Web Store manifest file and one or more icons for your 355 #. Create a Chrome Web Store manifest file and one or more icons for your
320 application. 356 application.
321 357
322 * Follow the instructions above under :ref:`Chrome Web Store metadata 358 * Follow the instructions above under :ref:`Chrome Web Store metadata
323 <metadata>` to create these files. 359 <metadata>` to create these files.
324 * In the CWS manifest file, the ``web_url`` field should specify the 360 * In the CWS manifest file, the ``web_url`` field should specify the
325 location of your application on your server. If you're using the local 361 location of your application on your server. If you're using the local
326 server included with the SDK, the ``web_url`` field should look something 362 server included with the SDK, the ``web_url`` field should look something
327 like ``http://localhost:5103/my_app/my_app_main_page.html``. 363 like ``http://localhost:5103/my_app/my_app_main_page.html``.
328 #. Put the CWS manifest file and the application icon(s) in the same directory 364 #. Put the CWS manifest file and the application icon(s) in the same directory
(...skipping 24 matching lines...) Expand all
353 When you're ready to test your application more broadly, you can upload the 389 When you're ready to test your application more broadly, you can upload the
354 application to the Chrome Web Store and let some trusted testers run it. Here 390 application to the Chrome Web Store and let some trusted testers run it. Here
355 is how to do so: 391 is how to do so:
356 392
357 #. Create the Chrome Web Store metadata required to publish your application: 393 #. Create the Chrome Web Store metadata required to publish your application:
358 394
359 * First, create a Chrome Web Store manifest file and one or more icons for 395 * First, create a Chrome Web Store manifest file and one or more icons for
360 your application, as described above under :ref:`Chrome Web Store metadata 396 your application, as described above under :ref:`Chrome Web Store metadata
361 <metadata>`. Note that packaged applications must have at least two icons 397 <metadata>`. Note that packaged applications must have at least two icons
362 (a 16x16 icon and a 128x128 icon). 398 (a 16x16 icon and a 128x128 icon).
363 * You also need to create the following additional assets before you can publ ish your application: 399 * You also need to create the following additional assets before you can
400 publish your application:
364 401
365 * a screenshot (size must be 640x400 or 1280x800) 402 * a screenshot (size must be 640x400 or 1280x800)
366 * a promotional image called a "small tile" (size must be 440x280) 403 * a promotional image called a "small tile" (size must be 440x280)
367 404
368 #. For a **packaged application**: 405 #. For a **packaged application**:
369 406
370 * Create a zip file with the CWS manifest file, the application icons, and 407 * Create a zip file with the CWS manifest file, the application icons, and
371 all your application files (.html, .nmf, .nexe, .css, .js, image files, 408 all your application files (.html, .nmf, .nexe, .css, .js, image files,
372 etc.) 409 etc.)
373 410
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 To publish an application to the world after publishing it to test accounts, 461 To publish an application to the world after publishing it to test accounts,
425 you must first unpublish the application. For additional information see 462 you must first unpublish the application. For additional information see
426 `Publishing Your App 463 `Publishing Your App
427 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in 464 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in
428 particular `Publishing to test accounts 465 particular `Publishing to test accounts
429 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_. 466 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_.
430 467
431 .. |menu-icon| image:: /images/menu-icon.png 468 .. |menu-icon| image:: /images/menu-icon.png
432 .. |extensions| image:: /images/extensions-management.png 469 .. |extensions| image:: /images/extensions-management.png
433 .. |new-tab-apps| image:: /images/new-tab-apps.png 470 .. |new-tab-apps| image:: /images/new-tab-apps.png
OLDNEW
« no previous file with comments | « native_client_sdk/src/doc/devguide/devcycle/building.rst ('k') | native_client_sdk/src/doc/images/nacl_icon_128.jpg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698