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

Side by Side Diff: chrome/common/extensions/docs/external_extensions.html

Issue 9963120: Introduces an additional extension loader that load extra extensions based on per-extension json fi… (Closed) Base URL: https://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 years, 8 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 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note: 1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
2 1) The <head> information in this page is significant, should be uniform 2 1) The <head> information in this page is significant, should be uniform
3 across api docs and should be edited only with knowledge of the 3 across api docs and should be edited only with knowledge of the
4 templating mechanism. 4 templating mechanism.
5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a 5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
6 browser, it will be re-generated from the template, json schema and 6 browser, it will be re-generated from the template, json schema and
7 authored overview content. 7 authored overview content.
8 4) The <body>.innerHTML is also generated by an offline step so that this 8 4) The <body>.innerHTML is also generated by an offline step so that this
9 page may easily be indexed by search engines. 9 page may easily be indexed by search engines.
10 --><html xmlns="http://www.w3.org/1999/xhtml"><head> 10 --><html xmlns="http://www.w3.org/1999/xhtml"><head>
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 The following examples assume the version is <code>1.0</code> 286 The following examples assume the version is <code>1.0</code>
287 and the ID is <code>aaaaaaaaaabbbbbbbbbbcccccccccc</code>. 287 and the ID is <code>aaaaaaaaaabbbbbbbbbbcccccccccc</code>.
288 </p> 288 </p>
289 <h2 id="preferences">Using a preferences file</h2> 289 <h2 id="preferences">Using a preferences file</h2>
290 <p class="note"> 290 <p class="note">
291 <b>Windows note:</b> 291 <b>Windows note:</b>
292 Until <a href="http://crbug.com/41902">bug 41902</a> is fixed, 292 Until <a href="http://crbug.com/41902">bug 41902</a> is fixed,
293 you might want to use the <a href="#registry">Windows registry</a> 293 you might want to use the <a href="#registry">Windows registry</a>
294 instead of the preferences file. 294 instead of the preferences file.
295 </p> 295 </p>
296 <p class="note">
297 <b>Note:</b>
298 The <code>external_extensions.json</code> files are deprecated although they are
299 still supported for now.
300 </p>
296 <ol> 301 <ol>
297 <li>If you are installing from a file, make the <code>.crx</code> extension 302 <li>If you are installing from a file, make the <code>.crx</code> extension
298 file available to the machine you want to install the extension on. 303 file available to the machine you want to install the extension on.
299 (Copy it to a local directory or to a network share for example, 304 (Copy it to a local directory or to a network share for example,
300 <code>\\server\share\extension.crx</code> 305 <code>\\server\share\extension.crx</code>
301 or <code>/home/share/extension.crx</code>.) 306 or <code>/home/share/extension.crx</code>.)
302 </li> 307 </li>
303 <li>Locate the <code>external_extensions.json</code> file. 308 <li>Create a file with the following name in one of the folders listed below:
304 If the file doesn't exist, create it. 309 <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> where the file name (without the extension)
310 corresponds to your extension's ID.
305 The location depends on the operating system. 311 The location depends on the operating system.
306 <dl> 312 <dl>
307 <dt> Windows: </dt> 313 <dt> Windows: </dt>
308 <dd> <code><em>chrome_root</em>\Application\<em>chrome_version</em>\Extensio ns\</code> 314 <dd> <code><em>chrome_root</em>\Application\<em>chrome_version</em>\Extensio ns\</code>
309 <br> 315 <br>
310 Example: <code>c:\Users\Me\AppData\Local\Google\Chrome\Application\6.0.422.0 \Extensions\</code> 316 Example: <code>c:\Users\Me\AppData\Local\Google\Chrome\Application\6.0.422.0 \Extensions\</code>
311 </dd> 317 </dd>
312 <dt> Mac OS X:</dt> 318 <dt> Mac OS X:</dt>
313 <dd>For a specific user: <code>~USERNAME/Library/Application Support/Google/ Chrome/External Extensions/</code><br> 319 <dd>For a specific user: <code>~USERNAME/Library/Application Support/Google/ Chrome/External Extensions/</code><br>
314 For all users: <code>/Library/Application Support/Google/Chrome/External Extensions/</code> 320 For all users: <code>/Library/Application Support/Google/Chrome/External Extensions/</code>
315 <p>The external extensions file for all users is read only if every director y in the path is owned by the user <code>root</code>, has the group <code>admin< /code> or <code>wheel</code>, and is not world writable. The path must also be free of symbolic links. These restrictions prevent an unprivileged user from ca using extensions to be installed for all users. See <a href="#troubleshooting"> troubleshooting</a> for details.</p> 321 <p>The external extension file for all users is read only if every directory in the path is owned by the user <code>root</code>, has the group <code>admin</ code> or <code>wheel</code>, and is not world writable. The path must also be f ree of symbolic links. These restrictions prevent an unprivileged user from cau sing extensions to be installed for all users. See <a href="#troubleshooting">t roubleshooting</a> for details.</p>
316 <p class="note"> 322 <p class="note">
317 <b>Note:</b> The above path for all users was added in Chrome 16. Prior ver sions used a different path:<br> 323 <b>Note:</b> The above path for all users was added in Chrome 16. Prior ver sions used a different path:<br>
318 <code>/Applications/Google Chrome.app/Contents/Extensions/</code> 324 <code>/Applications/Google Chrome.app/Contents/Extensions/</code>
319 This path was deprecated in version 17. Support was removed in version 20. Use one of the paths above instead.</p> 325 This path was deprecated in version 17. Support was removed in version 20. Use one of the paths above instead.</p>
320 </dd> 326 </dd>
321 <dt> Linux: </dt> 327 <dt> Linux: </dt>
322 <dd> <code>/opt/google/chrome/extensions/</code> <br> 328 <dd> <code>/opt/google/chrome/extensions/</code> <br>
329 </dd>
330 <dd> <code>/usr/share/google-chrome/extensions/</code> <br>
323 <b>Note:</b> Use <code>chmod</code> if necessary 331 <b>Note:</b> Use <code>chmod</code> if necessary
324 to make sure that <code>extensions/external_extensions.json</code> 332 to make sure that the <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> files
325 is world-readable. 333 are world-readable.
326 </dd> 334 </dd>
327 </dl> 335 </dl>
328 </li> 336 </li>
329 <li> Add an entry to <code>external_extensions.json</code> 337 <li>If you are installing from a file, specify the extension's location and vers ion with fields
330 for your extension's ID. If you are installing from a file, specify the 338 named "external_crx" and "external_version" in the file created above.
331 extension's location and version with fields named "external_crx" and 339 <p>
332 "external_version".
333 Example: 340 Example:
334 <pre>{ 341 </p><pre> {
335 "aaaaaaaaaabbbbbbbbbbcccccccccc": {
336 "external_crx": "/home/share/extension.crx", 342 "external_crx": "/home/share/extension.crx",
337 "external_version": "1.0" 343 "external_version": "1.0"
338 } 344 }
339 }</pre> 345 </pre>
346 <p></p>
340 <p class="note"> 347 <p class="note">
341 <b>Note:</b> 348 <b>Note:</b>
342 You need to escape 349 You need to escape
343 each <code>\</code> character in the location. 350 each <code>\</code> character in the location.
344 For example, 351 For example,
345 <code>\\server\share\extension.crx</code> would be 352 <code>\\server\share\extension.crx</code> would be
346 <code>"\\\\server\\share\\extension.crx"</code>. 353 <code>"\\\\server\\share\\extension.crx"</code>.
347 </p> 354 </p>
348 <p> 355 <p>
356 </p><p>
349 If you are installing from an update URL, specify the extension's update URL 357 If you are installing from an update URL, specify the extension's update URL
350 with field name "external_update_url". 358 with field name "external_update_url".
351 </p> 359 </p>
352 Example: 360 Example:
353 <pre>{ 361 <pre>{
354 "aaaaaaaaaabbbbbbbbbbcccccccccc": { 362 "external_update_url": "http://myhost.com/mytestextension/updates.xml"
355 "external_update_url": "http://myhost.com/mytestextension/updates.xml"
356 }
357 }</pre> 363 }</pre>
358 <p> 364 <p>
359 If you would like to install extension only for some browser locales, 365 If you would like to install extension only for some browser locales,
360 you can list supported locales in field name "supported_locale". Locale may 366 you can list supported locales in field name "supported_locale". Locale may
361 specify parent locale like "en", in this case the extension will be 367 specify parent locale like "en", in this case the extension will be
362 installed for all English locales like "en-US", "en-GB", etc. 368 installed for all English locales like "en-US", "en-GB", etc.
363 If another browser locale is selected that is not supported by the extension, 369 If another browser locale is selected that is not supported by the extension,
364 the external extensions will be uninstalled. If "supported_locales" list 370 the external extensions will be uninstalled. If "supported_locales" list
365 is missing, the extension will be installed for any locale. 371 is missing, the extension will be installed for any locale.
366 </p> 372 </p>
367 Example: 373 Example:
368 <pre>{ 374 <pre>{
369 "aaaaaaaaaabbbbbbbbbbcccccccccc": { 375 "external_update_url": "http://myhost.com/mytestextension/updates.xml",
370 "external_update_url": "http://myhost.com/mytestextension/updates.xml", 376 "supported_locales": [ "en", "fr", "de" ]
371 "supported_locales": [ "en", "fr", "de" ]
372 }
373 }</pre> 377 }</pre>
374 </li> 378 </li>
375 <li>Save the JSON file. </li> 379 <li>Save the JSON file. </li>
376 <li>Launch Google Chrome and go to <b>chrome://extensions</b>; 380 <li>Launch Google Chrome and go to <b>chrome://extensions</b>;
377 you should see the extension listed. </li> 381 you should see the extension listed. </li>
378 </ol> 382 </ol>
379 <h3 id="troubleshooting">Troubleshooting Mac OS permissions problems</h3> 383 <h3 id="troubleshooting">Troubleshooting Mac OS permissions problems</h3>
380 <p>On Mac OS, the external extensions file for all users is only read if file sy stem permissions prevent unprivelaged users from changing it. If you do not see external extensions installed when Chrome is launched, there may be a permissio ns problem with the external extensions preferences file. To see if this is the problem, follow these steps:</p> 384 <p>On Mac OS, the external extensions files for all users is only read if file s ystem permissions prevent unprivelaged users from changing it. If you do not se e external extensions installed when Chrome is launched, there may be a permissi ons problem with the external extensions preferences files. To see if this is t he problem, follow these steps:</p>
381 <ol> 385 <ol>
382 <li> Launch the Console program. You can find it under /Applications/Utilitie s/Console. </li> 386 <li> Launch the Console program. You can find it under /Applications/Utilitie s/Console. </li>
383 <li> If the leftmost icon in the Console says "Show Log List", click that icon . A second column appears at the left. </li> 387 <li> If the leftmost icon in the Console says "Show Log List", click that icon . A second column appears at the left. </li>
384 <li> Click "Console Messages" in the left pane. </li> 388 <li> Click "Console Messages" in the left pane. </li>
385 <li> Search for the string <b>Can not read external extensions</b>. If there is a problem reading the external extensions file, you will find an error messag e. Look for another error message directly above it, which should explain the i ssue. For example, if you see the following error: 389 <li> Search for the string <b>Can not read external extensions</b>. If there is a problem reading the external extensions file, you will find an error messag e. Look for another error message directly above it, which should explain the i ssue. For example, if you see the following error:
386 "Path /Library/Application Support/Google/Chrome is owned by the wrong grou p", you need to use <code>chgrp</code> or the Finder's Get Info dialog to change the directory's group owner to the Administrator group.</li> 390 "Path /Library/Application Support/Google/Chrome is owned by the wrong grou p", you need to use <code>chgrp</code> or the Finder's Get Info dialog to change the directory's group owner to the Administrator group.</li>
387 <li> After fixing the issue, relaunch Chrome. Test that the external extensio n is now installed. It is possible that one permissions error keeps Chrome from detecting a second error. If the external extension was not installed, repeat these steps until you do not see an error in the Console application. 391 <li> After fixing the issue, relaunch Chrome. Test that the external extensio n is now installed. It is possible that one permissions error keeps Chrome from detecting a second error. If the external extension was not installed, repeat these steps until you do not see an error in the Console application.
388 </li></ol> 392 </li></ol>
389 <h2 id="registry">Using the Windows registry</h2> 393 <h2 id="registry">Using the Windows registry</h2>
390 <ol> 394 <ol>
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 <a href="autoupdate.html#H2-2">update manifest</a> that has the URL for your 446 <a href="autoupdate.html#H2-2">update manifest</a> that has the URL for your
443 extension.</p> 447 extension.</p>
444 <br> 448 <br>
445 <p><b>What are some common mistakes when installing with the preferences 449 <p><b>What are some common mistakes when installing with the preferences
446 file?</b></p> 450 file?</b></p>
447 <ul> 451 <ul>
448 <li> 452 <li>
449 Not specifying the same id/version 453 Not specifying the same id/version
450 as the one listed in the <code>.crx</code> </li> 454 as the one listed in the <code>.crx</code> </li>
451 <li> 455 <li>
452 <code>external_extensions.json</code> is in the wrong location </li> 456 <code>aaaaaaaaaabbbbbbbbbbcccccccccc.json</code> files (where <code>aaaaaaaa aabbbbbbbbbbcccccccccc</code>
457 is the extension's ID) are in the wrong location or the specified extension IDs are not valid</li>
453 <li> 458 <li>
454 Syntax error in JSON file 459 Syntax error in JSON file
455 (forgetting to separate entries with comma or 460 (forgetting to separate entries with comma or
456 leaving a trailing comma somewhere) </li> 461 leaving a trailing comma somewhere) </li>
457 <li> 462 <li>
458 Extra curly brackets around the top level dictionary </li>
459 <li>
460 JSON file entry points to the wrong path 463 JSON file entry points to the wrong path
461 to the <code>.crx</code> (or path specified but no filename) </li> 464 to the <code>.crx</code> (or path specified but no filename) </li>
462 <li> 465 <li>
463 Backslashes in UNC path not escaped 466 Backslashes in UNC path not escaped
464 (for example, <code>"\\server\share\file"</code> is wrong; 467 (for example, <code>"\\server\share\file"</code> is wrong;
465 it should be <code>"\\\\server\\share\\extension"</code>) </li> 468 it should be <code>"\\\\server\\share\\extension"</code>) </li>
466 <li> 469 <li>
467 Permissions problems on a network share </li> 470 Permissions problems on a network share </li>
468 </ul> 471 </ul>
469 <br> 472 <br>
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 _uff=0; 525 _uff=0;
523 urchinTracker(); 526 urchinTracker();
524 } 527 }
525 catch(e) {/* urchinTracker not available. */} 528 catch(e) {/* urchinTracker not available. */}
526 </script> 529 </script>
527 <!-- end analytics --> 530 <!-- end analytics -->
528 </div> 531 </div>
529 </div> <!-- /gc-footer --> 532 </div> <!-- /gc-footer -->
530 </div> <!-- /gc-container --> 533 </div> <!-- /gc-container -->
531 </body></html> 534 </body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698