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

Side by Side Diff: native_client_sdk/src/doc/devguide/distributing.rst

Issue 912633002: NaCl docs: clarify Chrome apps instead of packaged apps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
OLDNEW
1 .. _distributing: 1 .. _distributing:
2 2
3 ############################# 3 #############################
4 Distributing Your Application 4 Distributing Your Application
5 ############################# 5 #############################
6 6
7 .. contents:: 7 .. contents::
8 :local: 8 :local:
9 :backlinks: none 9 :backlinks: none
10 :depth: 2 10 :depth: 2
(...skipping 27 matching lines...) Expand all
38 The CWS requirement is in place to prevent the proliferation of Native Client 38 The CWS requirement is in place to prevent the proliferation of Native Client
39 executables (**nexe**\s) compiled for specific architecures (e.g., x86-32, 39 executables (**nexe**\s) compiled for specific architecures (e.g., x86-32,
40 x86-64, or ARM). 40 x86-64, or ARM).
41 41
42 In general, the considerations and guidelines for distributing applications 42 In general, the considerations and guidelines for distributing applications
43 through the Chrome Web Store apply to applications that contain NaCl modules as 43 through the Chrome Web Store apply to applications that contain NaCl modules as
44 well. Here are a few pointers to relevant documentation: 44 well. Here are a few pointers to relevant documentation:
45 45
46 * `CWS Overview </webstore>`_ 46 * `CWS Overview </webstore>`_
47 * `Choosing an App Type </webstore/choosing>`_ 47 * `Choosing an App Type </webstore/choosing>`_
48 * `Getting started with packaged apps </apps/about_apps>`_ 48 * `Getting started with Chrome apps </apps>`_
49 * `Hosted apps <https://developers.google.com/chrome/apps/docs/developers_guide> `_
50 * `Chrome extensions </extensions>`_ 49 * `Chrome extensions </extensions>`_
51 50
52 In this document, we'll focus only on distribution issues specific to 51 In this document, we'll focus only on distribution issues specific to
53 applications that contain NaCl modules. 52 applications that contain NaCl modules.
54 53
55 .. _distributing_packaged: 54 .. _distributing_packaged:
56 55
57 Packaged application 56 Chrome apps
58 -------------------- 57 -----------
59 58
60 A packaged application is a special zip file (with a .crx extension) hosted in 59 A Chrome app is a special zip file (with a .crx extension) hosted in the Chrome
61 the Chrome Web Store. This file contains all of the application parts: A Chrome 60 Web Store. This file contains all of the application parts: A Chrome Web Store
62 Web Store manifest file (manifest.json), an icon, and all of the regular Native 61 manifest file (manifest.json), an icon, and all of the regular Native Client
63 Client application files. Refer to 62 application files. Refer to `Chrome Apps </apps>`_ for more information about
64 `Packaged Apps </apps/about_apps>`_ 63 creating a Chrome app.
65 for more information about creating a packaged application.
66 64
67 Reducing the size of the user download package 65 Reducing the size of the user download package
68 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 66 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
69 67
70 .. Note:: 68 .. Note::
71 :class: note 69 :class: note
72 70
73 **Tip:** 71 **Tip:**
74 Packaging an app in a multi-platform zip file can significantly reduce the 72 Packaging an app in a multi-platform zip file can significantly reduce the
75 download and storage requirements for the app. 73 download and storage requirements for the app.
76 74
77 As described above, to upload a packaged app to the CWS you have to create a zip 75 As described above, to upload a Chrome app to the CWS you have to create a zip
78 file with all the resources that your app needs, including .nexe files for 76 file with all the resources that your app needs, including .nexe files for
79 multiple architectures (x86-64, x86-32, and ARM). Prior to Chrome 28, when users 77 multiple architectures (x86-64, x86-32, and ARM). Prior to Chrome 28, when users
80 installed your app they had to download a .crx file from the CWS with all the 78 installed your app they had to download a .crx file from the CWS with all the
81 included .nexe files. 79 included .nexe files.
82 80
83 Starting with Chrome 28, the Chrome Web Store includes a feature called 81 Starting with Chrome 28, the Chrome Web Store includes a feature called
84 **multi-platform zip files.** This feature lets you structure your application 82 **multi-platform zip files.** This feature lets you structure your application
85 directory and zip file in a way that reduces the size of the user download 83 directory and zip file in a way that reduces the size of the user download
86 package. Here's how this feature works: 84 package. Here's how this feature works:
87 85
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 function getPath(name) { 230 function getPath(name) {
233 return '_platform_specific/' + 231 return '_platform_specific/' +
234 chrome.runtime.getPlatformInfo().nacl_arch + 232 chrome.runtime.getPlatformInfo().nacl_arch +
235 '/' + name; 233 '/' + name;
236 } 234 }
237 235
238 #. Test your app, create a zip file, and upload the app to the CWS as before. 236 #. Test your app, create a zip file, and upload the app to the CWS as before.
239 237
240 .. _additional_considerations_packaged: 238 .. _additional_considerations_packaged:
241 239
242 Additional considerations for a packaged application 240 Additional considerations for a Chrome app
243 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 241 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244 242
245 * In the description of your application in the CWS, make sure to mention that 243 * In the description of your application in the CWS, make sure to mention that
246 your application is a Native Client application that only works with the 244 your application is a Native Client application that only works with the
247 Chrome browser. Also make sure to identify the minimum version of Chrome 245 Chrome browser. Also make sure to identify the minimum version of Chrome
248 that your application requires. 246 that your application requires.
249 * Hosted and packaged applications have a "launch" parameter in the CWS 247 * Hosted and packaged applications have a "launch" parameter in the CWS
250 manifest. This parameter is present only in apps (not extensions), and it 248 manifest. This parameter is present only in apps (not extensions), and it
251 tells Google Chrome what to show when a user starts an installed app. For 249 tells Google Chrome what to show when a user starts an installed app. For
252 example: 250 example:
253 251
254 .. naclcode:: 252 .. naclcode::
255 :prettyprint: 0 253 :prettyprint: 0
256 254
257 "launch": { 255 "launch": {
258 "web_url": "http://mail.google.com/mail/" 256 "web_url": "http://mail.google.com/mail/"
259 } 257 }
260 258
261 * If you want to write local data using the Pepper 259 * If you want to write local data using the Pepper
262 `FileIO </native-client/peppercpp/classpp_1_1_file_i_o>`_ 260 `FileIO </native-client/peppercpp/classpp_1_1_file_i_o>`_
263 API, you must set the 'unlimitedStorage' permission in your Chrome Web 261 API, you must set the 'unlimitedStorage' permission in your Chrome Web
264 Store manifest file, just as you would for a JavaScript application that 262 Store manifest file, just as you would for a JavaScript application that
265 uses the HTML5 File API. 263 uses the HTML5 File API.
266 * For packaged applications, you can only use in-app purchases. 264 * For Chrome apps, you can only use in-app purchases.
267 * You can place your application in the Google Web Store with access only to 265 * You can place your application in the Google Web Store with access only to
268 certain people for testing. See `Publishing to test accounts 266 certain people for testing. See `Publishing to test accounts
269 </webstore/publish>`_ for more information. 267 </webstore/publish>`_ for more information.
270 268
271 Extension 269 Extension
272 --------- 270 ---------
273 271
274 The NaCl-specific notes for a :ref:`package application <distributing_packaged>` 272 The NaCl-specific notes for a :ref:`package application <distributing_packaged>`
275 apply to extensions as well. 273 apply to extensions as well.
276 274
277 Hosted application 275 Hosted application
278 ------------------ 276 ------------------
279 277
280 The .html file, .nmf file (Native Client manifest file), and .nexe files must 278 The .html file, .nmf file (Native Client manifest file), and .nexe files must
281 be served from the same domain, and the Chrome Web Store manifest file must 279 be served from the same domain, and the Chrome Web Store manifest file must
282 specify the correct, verified domain. Other files can be served from the same 280 specify the correct, verified domain. Other files can be served from the same
283 or another domain. 281 or another domain.
284 282
285 In addition, see :ref:`Additional considerations for a packaged application <add itional_considerations_packaged>`. 283 In addition, see :ref:`Additional considerations for a Chrome apps
284 <additional_considerations_packaged>`.
286 285
287 Registering Native Client modules to handle MIME types 286 Registering Native Client modules to handle MIME types
288 ------------------------------------------------------ 287 ------------------------------------------------------
289 288
290 If you want Chrome to use a Native Client module to display a particular type 289 If you want Chrome to use a Native Client module to display a particular type
291 of content, you can associate the MIME type of that content with the Native 290 of content, you can associate the MIME type of that content with the Native
292 Client module. Use the ``nacl_modules`` attribute in the Chrome Web Store 291 Client module. Use the ``nacl_modules`` attribute in the Chrome Web Store
293 manifest file to register a Native Client module as the handler for one or more 292 manifest file to register a Native Client module as the handler for one or more
294 specific MIME types. For example, the bold code in the snippet below registers 293 specific MIME types. For example, the bold code in the snippet below registers
295 a Native Client module as the content handler for the OpenOffice spreadsheet 294 a Native Client module as the content handler for the OpenOffice spreadsheet
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 { 334 {
336 "path": "DocumentViewer.nmf", 335 "path": "DocumentViewer.nmf",
337 "mime_type": "application/vnd.oasis.opendocument.text" 336 "mime_type": "application/vnd.oasis.opendocument.text"
338 }] 337 }]
339 } 338 }
340 339
341 The ``nacl_modules`` attribute is optional---specify this attribute only if 340 The ``nacl_modules`` attribute is optional---specify this attribute only if
342 you want Chrome to use a Native Client module to display a particular type of 341 you want Chrome to use a Native Client module to display a particular type of
343 content. 342 content.
344 343
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698