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

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: f* Created 7 years, 1 month 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
205 to run most applications under the ``examples`` directory where you started the
206 server. For example, to run the ``flock`` example in the SDK, start the server
207 and point your browser to http://localhost:5103/demo/flock/.
170 208
171 cd examples 209 Some of the applications need special flags to Chrome, and must be run with the
172 python httpd.py 210 ``make run`` command. See :ref:`run_sdk_examples` for more details.
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 211
183 .. _metadata: 212 .. _metadata:
184 213
185 Chrome Web Store metadata 214 Chrome Web Store metadata
186 ~~~~~~~~~~~~~~~~~~~~~~~~~ 215 ~~~~~~~~~~~~~~~~~~~~~~~~~
187 216
188 Applications published in the Chrome Web Store must be accompanied by CWS 217 Applications published in the Chrome Web Store must be accompanied by CWS
189 metadataspecifically, a Chrome Web Store manifest file named 218 metadata; specifically, a Chrome Web Store manifest file named
190 ``manifest.json``, and at least one icon. 219 ``manifest.json``, and at least one icon.
191 220
192 Below is an example of a CWS manifest file for a **hosted application**:: 221 Below is an example of a CWS manifest file for a **hosted application**:
222
223 .. naclcode::
193 224
194 { 225 {
195 "name": "My NaCl App", 226 "name": "My NaCl App",
196 "description": "Simple game implemented using Native Client", 227 "description": "Simple game implemented using Native Client",
197 "version": "0.1", 228 "version": "0.1",
198 "icons": { 229 "icons": {
199 "128": "nacl_icon_128.jpg" 230 "128": "icon128.png"
200 }, 231 },
201 "app": { 232 "app": {
202 "urls": [ 233 "urls": [
203 "http://mysubdomain.example.com/" 234 "http://mysubdomain.example.com/"
204 ], 235 ],
205 "launch": { 236 "launch": {
206 "web_url": "http://mysubdomain.example.com/my_app_main_page.html" 237 "web_url": "http://mysubdomain.example.com/my_app_main_page.html"
207 } 238 }
208 } 239 }
209 } 240 }
210 241
211 242
212 For a **packaged application**, you can omit the urls field, and replace the 243 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:: 244 ``web_url`` field with a ``local_path`` field, as shown below:
245
246 .. naclcode::
214 247
215 { 248 {
216 "name": "My NaCl App", 249 "name": "My NaCl App",
217 "description": "Simple game implemented using Native Client", 250 "description": "Simple game implemented using Native Client",
218 "version": "0.1", 251 "version": "0.1",
219 "icons": { 252 "icons": {
220 "16": "nacl_icon_16.jpg", 253 "16": "icon16.png",
221 "128": "nacl_icon_128.jpg" 254 "128": "icon128.png"
222 }, 255 },
223 "app": { 256 "app": {
224 "launch": { 257 "launch": {
225 "local_path": "my_app_main_page.html" 258 "local_path": "my_app_main_page.html"
226 } 259 }
227 } 260 }
228 } 261 }
229 262
230 You must put the ``manifest.json`` file in the same directory as your 263 You must put the ``manifest.json`` file in the same directory as your
231 application's main HTML page. 264 application's main HTML page.
232 265
233 If you don't have icons for your application, you can use the following icons 266 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 267 placeholders:
235 same directory as the CWS manifest file.
236 268
237 For more information about CWS manifest files and application icons, see: 269 |ICON16|
270
271 |ICON128|
272
273 .. |ICON16| image:: /images/icon16.png
274 .. |ICON128| image:: /images/icon128.png
275
276 Put the icons in the same directory as the CWS manifest file. For more
277 information about CWS manifest files and application icons, see:
238 278
239 * `Chrome Web Store Tutorial: Getting Started 279 * `Chrome Web Store Tutorial: Getting Started
240 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_ 280 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_
241 * `Chrome Web Store Formats: Manifest Files 281 * `Chrome Web Store Formats: Manifest Files
242 <http://code.google.com/chrome/extensions/manifest.html>`_ 282 <http://code.google.com/chrome/extensions/manifest.html>`_
243 283
244 Technique 1: Local server 284 Technique 1: Local server
245 ========================= 285 =========================
246 286
247 To run your application from a local server: 287 To run your application from a local server:
248 288
249 * Enable the :ref:`Native Client flag <flag>` in Chrome. 289 * Enable the :ref:`Native Client flag <flag>` in Chrome.
250 * Start a :ref:`local web server <web_server>`. 290 * Start a :ref:`local web server <web_server>`.
251 * Put your application under the examples directory in the SDK bundle you are 291 * 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``). 292 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 293 * Access your application on the local server by typing the location of its
254 HTML file in Chrome, e.g.: 294 HTML file in Chrome, e.g.:
255 ``http://localhost:5103/my_app/my_app_main_page.html``. 295 ``http://localhost:5103/my_app/my_app_main_page.html``.
256 296
257 .. Note:: 297 .. Note::
258 :class: note 298 :class: note
259 299
260 **Note:** You don't have to use a local web server---you can use another 300 **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 301 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. 302 Client flag in order to run your application from the server.
263 303
264 Technique 2: Packaged application loaded as an unpacked extension 304 Technique 2: Packaged application loaded as an unpacked extension
265 ================================================================= 305 =================================================================
266 306
267 For development purposes, Chrome lets you load a packaged application as an 307 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 308 unpacked extension. To load and run your packaged application as an unpacked
269 extension: 309 extension:
270 310
271 #. Create a Chrome Web Store manifest file and one or more icons for your 311 #. Create a Chrome Web Store manifest file and one or more icons for your
272 application. 312 application.
(...skipping 17 matching lines...) Expand all
290 page to show your installed apps: 330 page to show your installed apps:
291 |new-tab-apps| 331 |new-tab-apps|
292 #. The icon for your newly installed app should appear on the New Tab page. 332 #. The icon for your newly installed app should appear on the New Tab page.
293 Click the icon to launch the app. 333 Click the icon to launch the app.
294 334
295 For additional information about how to create CWS metadata and load your 335 For additional information about how to create CWS metadata and load your
296 application into Chrome (including troubleshooting information), see the 336 application into Chrome (including troubleshooting information), see the
297 `Chrome Web Store Tutorial: Getting Started 337 `Chrome Web Store Tutorial: Getting Started
298 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_. 338 <https://developers.google.com/chrome/web-store/docs/get_started_simple>`_.
299 339
340 See also :ref:`run_sdk_examples_as_packaged`.
341
300 Technique 3: Hosted application loaded as an unpacked extension 342 Technique 3: Hosted application loaded as an unpacked extension
301 =============================================================== 343 ===============================================================
302 344
303
304 For development purposes, Chrome lets you load a hosted application as an 345 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 346 unpacked extension. To load and run your hosted application as an unpacked
306 extension: 347 extension:
307 348
308 #. Start a web server to serve your application. 349 #. Start a web server to serve your application.
309 350
310 * You can use the :ref:`local web server <web_server>` included with the 351 * You can use the :ref:`local web server <web_server>` included with the
311 Native Client SDK if you want. 352 Native Client SDK if you want.
312 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.) 353 #. Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.)
313 to the server. 354 to the server.
314 355
315 * If you're using the local server included with the Native Client SDK, 356 * 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 357 simply put your application under the ``examples`` directory in the SDK
317 bundle you are using (e.g., in the directory 358 bundle you are using (e.g., in the directory
318 ``pepper_28/examples/my_app``). 359 ``pepper_31/examples/my_app``).
319 #. Create a Chrome Web Store manifest file and one or more icons for your 360 #. Create a Chrome Web Store manifest file and one or more icons for your
320 application. 361 application.
321 362
322 * Follow the instructions above under :ref:`Chrome Web Store metadata 363 * Follow the instructions above under :ref:`Chrome Web Store metadata
323 <metadata>` to create these files. 364 <metadata>` to create these files.
324 * In the CWS manifest file, the ``web_url`` field should specify the 365 * 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 366 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 367 server included with the SDK, the ``web_url`` field should look something
327 like ``http://localhost:5103/my_app/my_app_main_page.html``. 368 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 369 #. 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 394 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 395 application to the Chrome Web Store and let some trusted testers run it. Here
355 is how to do so: 396 is how to do so:
356 397
357 #. Create the Chrome Web Store metadata required to publish your application: 398 #. Create the Chrome Web Store metadata required to publish your application:
358 399
359 * First, create a Chrome Web Store manifest file and one or more icons for 400 * 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 401 your application, as described above under :ref:`Chrome Web Store metadata
361 <metadata>`. Note that packaged applications must have at least two icons 402 <metadata>`. Note that packaged applications must have at least two icons
362 (a 16x16 icon and a 128x128 icon). 403 (a 16x16 icon and a 128x128 icon).
363 * You also need to create the following additional assets before you can publ ish your application: 404 * You also need to create the following additional assets before you can
405 publish your application:
364 406
365 * a screenshot (size must be 640x400 or 1280x800) 407 * a screenshot (size must be 640x400 or 1280x800)
366 * a promotional image called a "small tile" (size must be 440x280) 408 * a promotional image called a "small tile" (size must be 440x280)
367 409
368 #. For a **packaged application**: 410 #. For a **packaged application**:
369 411
370 * Create a zip file with the CWS manifest file, the application icons, and 412 * 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, 413 all your application files (.html, .nmf, .nexe, .css, .js, image files,
372 etc.) 414 etc.)
373 415
(...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, 466 To publish an application to the world after publishing it to test accounts,
425 you must first unpublish the application. For additional information see 467 you must first unpublish the application. For additional information see
426 `Publishing Your App 468 `Publishing Your App
427 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in 469 <https://developers.google.com/chrome/web-store/docs/publish>`_, and in
428 particular `Publishing to test accounts 470 particular `Publishing to test accounts
429 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_. 471 <https://developers.google.com/chrome/web-store/docs/publish#testaccounts>`_.
430 472
431 .. |menu-icon| image:: /images/menu-icon.png 473 .. |menu-icon| image:: /images/menu-icon.png
432 .. |extensions| image:: /images/extensions-management.png 474 .. |extensions| image:: /images/extensions-management.png
433 .. |new-tab-apps| image:: /images/new-tab-apps.png 475 .. |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/icon128.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698