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

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

Issue 541011: Fix a couple of typos in the doc for external extensions and add a missing bu... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 11 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
« no previous file with comments | « no previous file | chrome/common/extensions/docs/static/external_extensions.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 <li><a href="events.html">Events</a></li> 144 <li><a href="events.html">Events</a></li>
145 <li><a href="tabs.html">Tabs</a></li> 145 <li><a href="tabs.html">Tabs</a></li>
146 <li><a href="windows.html">Windows</a></li> 146 <li><a href="windows.html">Windows</a></li>
147 </ul> 147 </ul>
148 </li> 148 </li>
149 <li>Implementation 149 <li>Implementation
150 <ul> 150 <ul>
151 <li><a href="background_pages.html">Background Pages</a></li> 151 <li><a href="background_pages.html">Background Pages</a></li>
152 <li><a href="content_scripts.html">Content Scripts</a></li> 152 <li><a href="content_scripts.html">Content Scripts</a></li>
153 <li><a href="xhr.html">Cross-Origin XHR</a></li> 153 <li><a href="xhr.html">Cross-Origin XHR</a></li>
154 <li><a href="i18n.html">Internationalization</a></li>
154 <li><a href="messaging.html">Message Passing</a></li> 155 <li><a href="messaging.html">Message Passing</a></li>
155 <li><a href="npapi.html">NPAPI Plugins</a></li> 156 <li><a href="npapi.html">NPAPI Plugins</a></li>
156 </ul> 157 </ul>
157 </li> 158 </li>
158 <li>Finishing 159 <li>Finishing
159 <ul> 160 <ul>
160 <li><a href="autoupdate.html">Autoupdating</a></li> 161 <li><a href="autoupdate.html">Autoupdating</a></li>
161 <li><a href="packaging.html">Packaging</a></li> 162 <li><a href="packaging.html">Packaging</a></li>
162 <li class="leftNavSelected">External Extensions</li> 163 <li class="leftNavSelected">External Extensions</li>
163 </ul> 164 </ul>
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 <p> 272 <p>
272 Google Chrome implements a mechanism 273 Google Chrome implements a mechanism
273 to detect when an external extension 274 to detect when an external extension
274 needs to be installed. 275 needs to be installed.
275 Typically, this could be leveraged 276 Typically, this could be leveraged
276 by 3rd party vendors 277 by 3rd party vendors
277 to install an extension whenever 278 to install an extension whenever
278 the user installs their software. 279 the user installs their software.
279 Another use case includes network admins, 280 Another use case includes network admins,
280 who want to install the same extensions 281 who want to install the same extensions
281 throughout their company. 282 throughout their company.
282 283
283 </p><p> 284 </p><p>
284 Google Chrome supports two ways of 285 Google Chrome supports two ways of
285 installing external extensions: 286 installing external extensions:
286 using a preferences JSON file, 287 using a preferences JSON file,
287 or using the Windows registry 288 or using the Windows registry
288 (Windows only). 289 (Windows only).
289 290
290 </p><p> 291 </p><p>
291 <b>Important:</b> Before you begin, 292 <b>Important:</b> Before you begin,
292 make sure you have <a href="packaging.html">packaged 293 make sure you have a <a href="packaging.html">packaged
293 crx file</a> that installs successfully, 294 crx file</a> that installs successfully,
294 and make a note of both the version 295 and make a note of both the version
295 of the extension and its id (see chrome://extensions/). 296 of the extension and its id (see chrome://extensions/).
296 For the rest of this text, we'll assume you 297 For the rest of this text, we'll assume
297 the extension version is 298 the extension version is
298 <code>1.0</code> and its id is <code>aaaaaaaaaabbbbbbbbbbcccccccccc</code>. 299 <code>1.0</code> and its id is <code>aaaaaaaaaabbbbbbbbbbcccccccccc</code>.
299 300
300 </p><h2 id="preferences">Using the Preferences File</h2> 301 </p><h2 id="preferences">Using the Preferences File</h2>
301 302
302 <ol> 303 <ol>
303 <li>Make the .crx extension file available 304 <li>Make the .crx extension file available
304 to the machine you want to install the extension 305 to the machine you want to install the extension
305 on (copy it to a local directory 306 on (copy it to a local directory
306 or to a network share, ie. <code>\\server\share\extension.crx</code>). 307 or to a network share, ie. <code>\\server\share\extension.crx</code>).
307 </li><li>Locate the external_extensions.json file under the Chrome 308 </li><li>Locate the external_extensions.json file under the Chrome
308 installation directory and add the following key inside 309 installation directory and add the following key inside
309 the curly brackets (note the extra escaping for the slashes, 310 the curly brackets (note the extra escaping for the slashes,
310 which is also required when specifying local directories): 311 which is also required when specifying local directories):
311 <pre>{ 312 <pre>{
312 "aaaaaaaaaabbbbbbbbbbcccccccccc": { 313 "aaaaaaaaaabbbbbbbbbbcccccccccc": {
313 "external_crx": "\\\\server\\share\\extension.crx", 314 "external_crx": "\\\\server\\share\\extension.crx",
314 "external_version": "1.0" 315 "external_version": "1.0"
315 } 316 }
316 }</pre> 317 }</pre>
(...skipping 15 matching lines...) Expand all
332 32 bit Windows: <code>HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions</code ><br> 333 32 bit Windows: <code>HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions</code ><br>
333 64 bit Windows: <code>HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Exte nsions</code> 334 64 bit Windows: <code>HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Exte nsions</code>
334 </li><li>Create a new key (folder) 335 </li><li>Create a new key (folder)
335 under the Extensions key with the 336 under the Extensions key with the
336 same name as the id of your extension (<code>aaaaaaaaaabbbbbbbbbbcccccccccc</cod e>). 337 same name as the id of your extension (<code>aaaaaaaaaabbbbbbbbbbcccccccccc</cod e>).
337 </li><li>Create two string values (<code>REG_SZ</code>):<br> 338 </li><li>Create two string values (<code>REG_SZ</code>):<br>
338 path: <code>\\server\share\extension.crx</code><br> 339 path: <code>\\server\share\extension.crx</code><br>
339 version: <code>1.0</code> 340 version: <code>1.0</code>
340 </li><li>Launch the browser and go to 341 </li><li>Launch the browser and go to
341 chrome://extensions and you should 342 chrome://extensions and you should
342 see the extension listed. 343 see the extension listed.
343 </li></ol> 344 </li></ol>
344 345
345 <h2 id="updating">Updating and Uninstalling</h2> 346 <h2 id="updating">Updating and Uninstalling</h2>
346 347
347 <p>Google Chrome scans the metadata entries 348 <p>Google Chrome scans the metadata entries
348 in the preferences and registry 349 in the preferences and registry
349 each time the browser starts, and makes 350 each time the browser starts, and makes
350 any necessary changes to the installed 351 any necessary changes to the installed
351 external extensions. 352 external extensions.
352 353
353 </p><p>To update your extension to a new version, 354 </p><p>To update your extension to a new version,
354 update the file, and then update the version 355 update the file, and then update the version
355 in the preferences or registry. 356 in the preferences or registry.
356 357
357 </p><p>To uninstall your extension 358 </p><p>To uninstall your extension
358 (eg if your software is uninstalled), 359 (eg if your software is uninstalled),
359 remove the metadata from the preferences file 360 remove the metadata from the preferences file
360 or registry. 361 or registry.
361 362
362 </p><h2 id="faq">FAQ</h2> 363 </p><h2 id="faq">FAQ</h2>
363 364
364 <p><b>Can I specify a URL as a path to the external extension?</b> 365 <p><b>Can I specify a URL as a path to the external extension?</b>
365 </p><p>Not at this time. 366 </p><p>Not at this time.
366 Chrome only supports absolute/relative local paths 367 Chrome only supports absolute/relative local paths
367 and UNC paths. 368 and UNC paths.
368 Relative paths are relative 369 Relative paths are relative
369 to the Extensions directory 370 to the Extensions directory
370 (where the external_extensions.json file is located). 371 (where the external_extensions.json file is located).
371 <br> 372 <br>
372 <br> 373 <br>
373 374
374 </p><p><b>What are some common mistakes when installing with the preferences fil e?</b> 375 </p><p><b>What are some common mistakes when installing with the preferences fil e?</b>
375 </p><ul> 376 </p><ul>
376 <li>Not specifying the same id/version 377 <li>Not specifying the same id/version
377 as the one listed in the .crx 378 as the one listed in the .crx
378 </li><li>external_extension.json is not in the right location 379 </li><li>external_extension.json is not in the right location
379 </li><li>Syntax error in json file 380 </li><li>Syntax error in json file
380 (forgetting to separate entries with comma or 381 (forgetting to separate entries with comma or
381 leaving a trailing comma somewhere) 382 leaving a trailing comma somewhere)
382 </li><li>Extra curly brackets around the top level dictionary 383 </li><li>Extra curly brackets around the top level dictionary
383 </li><li>JSON file entry points to the wrong path 384 </li><li>JSON file entry points to the wrong path
384 to the .crx (or path specified but no filename) 385 to the .crx (or path specified but no filename)
386 </li><li>Backslashes in UNC path not escaped (eg <code>\\server\share\file</code > (incorrect), instead of <code>\\\\server\\share\\extension</code> (correct)
385 </li><li>Permissions problems on a network share 387 </li><li>Permissions problems on a network share
386 </li></ul> 388 </li></ul>
387 389
388 <br> 390 <br>
389 391
390 <p><b>What are some common mistakes when installing with the registry?</b> 392 <p><b>What are some common mistakes when installing with the registry?</b>
391 </p><ul> 393 </p><ul>
392 <li>Not specifying the same id/version as the one listed in the .crx 394 <li>Not specifying the same id/version as the one listed in the .crx
393 </li><li>Key created in the wrong location in the registry 395 </li><li>Key created in the wrong location in the registry
394 </li><li>Registry entry points to the wrong path to the .crx (or path specified but no filename) 396 </li><li>Registry entry points to the wrong path to the .crx (or path specified but no filename)
395 </li><li>Backslashes in UNC path not escaped (eg <code>\\server\share\file</code > (incorrect), instead of <code>\\\\server\\share\\extension</code> (correct)
396 </li><li>Permissions problems on a network share 397 </li><li>Permissions problems on a network share
397 </li></ul> 398 </li></ul>
398 399
399 <br> 400 <br>
400 401
401 <p><b>What if the user uninstalls the extension?</b> 402 <p><b>What if the user uninstalls the extension?</b>
402 </p><p>If the user uninstalls the extension through the UI, it will no 403 </p><p>If the user uninstalls the extension through the UI, it will no
403 longer be installed or updated on each startup. In other words, the 404 longer be installed or updated on each startup. In other words, the
404 external extension is blacklisted. 405 external extension is blacklisted.
405 406
406 <br><br> 407 <br><br>
407 408
408 409
409 </p><p><b>How do I get off the blacklist?</b> 410 </p><p><b>How do I get off the blacklist?</b>
410 </p><p>If the user uninstalls your extension, you should respect that 411 </p><p>If the user uninstalls your extension, you should respect that
411 decision. However, if you (the developer) accidentally uninstalled 412 decision. However, if you (the developer) accidentally uninstalled
412 your extension through the UI, 413 your extension through the UI,
413 you can remove the blacklist tag 414 you can remove the blacklist tag
414 by installing the extension normally 415 by installing the extension normally
415 through the UI, then uninstalling it. 416 through the UI, and then uninstalling it.
416 </p></div> 417 </p></div>
417 418
418 <!-- API PAGE --> 419 <!-- API PAGE -->
419 <div class="apiPage" style="display: none; "> 420 <div class="apiPage" style="display: none; ">
420 <a name="apiReference"></a> 421 <a name="apiReference"></a>
421 <h2>API reference: chrome.apiname </h2> 422 <h2>API reference: chrome.apiname </h2>
422 423
423 <!-- PROPERTIES --> 424 <!-- PROPERTIES -->
424 <div class="apiGroup"> 425 <div class="apiGroup">
425 <a name="properties"></a> 426 <a name="properties"></a>
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 _uff=0; 595 _uff=0;
595 urchinTracker(); 596 urchinTracker();
596 } 597 }
597 catch(e) {/* urchinTracker not available. */} 598 catch(e) {/* urchinTracker not available. */}
598 </script> 599 </script>
599 <!-- end analytics --> 600 <!-- end analytics -->
600 </div> 601 </div>
601 </div> <!-- /gc-footer --> 602 </div> <!-- /gc-footer -->
602 </div> <!-- /gc-container --> 603 </div> <!-- /gc-container -->
603 </body></html> 604 </body></html>
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/docs/static/external_extensions.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698