| OLD | NEW |
| 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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 <ul> | 163 <ul> |
| 164 <li>Browser UI | 164 <li>Browser UI |
| 165 <ul> | 165 <ul> |
| 166 <li><a href="browserAction.html">Browser Actions</a></li> | 166 <li><a href="browserAction.html">Browser Actions</a></li> |
| 167 <li><a href="contextMenus.html">Context Menus</a></li> | 167 <li><a href="contextMenus.html">Context Menus</a></li> |
| 168 <li><a href="notifications.html">Desktop Notifications</a></li
> | 168 <li><a href="notifications.html">Desktop Notifications</a></li
> |
| 169 <li><a href="omnibox.html">Omnibox</a></li> | 169 <li><a href="omnibox.html">Omnibox</a></li> |
| 170 <li><a href="options.html">Options Pages</a></li> | 170 <li><a href="options.html">Options Pages</a></li> |
| 171 <li><a href="override.html">Override Pages</a></li> | 171 <li><a href="override.html">Override Pages</a></li> |
| 172 <li><a href="pageAction.html">Page Actions</a></li> | 172 <li><a href="pageAction.html">Page Actions</a></li> |
| 173 <li><a href="themes.html">Themes</a></li> | |
| 174 </ul> | 173 </ul> |
| 175 </li> | 174 </li> |
| 176 <li>Browser Interaction | 175 <li>Browser Interaction |
| 177 <ul> | 176 <ul> |
| 178 <li><a href="bookmarks.html">Bookmarks</a></li> | 177 <li><a href="bookmarks.html">Bookmarks</a></li> |
| 179 <li><a href="cookies.html">Cookies</a></li> | 178 <li><a href="cookies.html">Cookies</a></li> |
| 180 <li><a href="events.html">Events</a></li> | 179 <li><a href="events.html">Events</a></li> |
| 181 <li><a href="history.html">History</a></li> | 180 <li><a href="history.html">History</a></li> |
| 182 <li><a href="management.html">Management</a></li> | 181 <li><a href="management.html">Management</a></li> |
| 183 <li><a href="tabs.html">Tabs</a></li> | 182 <li><a href="tabs.html">Tabs</a></li> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 197 </ul> | 196 </ul> |
| 198 </li> | 197 </li> |
| 199 <li>Finishing | 198 <li>Finishing |
| 200 <ul> | 199 <ul> |
| 201 <li class="leftNavSelected">Hosting</li> | 200 <li class="leftNavSelected">Hosting</li> |
| 202 <li><a href="external_extensions.html">Other Deployment Option
s</a></li> | 201 <li><a href="external_extensions.html">Other Deployment Option
s</a></li> |
| 203 </ul> | 202 </ul> |
| 204 </li> | 203 </li> |
| 205 </ul> | 204 </ul> |
| 206 </li> | 205 </li> |
| 206 <li><h2><a href="apps.html">Packaged Apps</a></h2></li> |
| 207 <li><h2><a href="tutorials.html">Tutorials</a></h2> | 207 <li><h2><a href="tutorials.html">Tutorials</a></h2> |
| 208 <ul> | 208 <ul> |
| 209 <li><a href="tut_debugging.html">Debugging</a></li> | 209 <li><a href="tut_debugging.html">Debugging</a></li> |
| 210 <li><a href="tut_analytics.html">Google Analytics</a></li> | 210 <li><a href="tut_analytics.html">Google Analytics</a></li> |
| 211 <li><a href="tut_oauth.html">OAuth</a></li> | 211 <li><a href="tut_oauth.html">OAuth</a></li> |
| 212 </ul> | 212 </ul> |
| 213 </li> | 213 </li> |
| 214 <li><h2>Reference</h2> | 214 <li><h2>Reference</h2> |
| 215 <ul> | 215 <ul> |
| 216 <li>Formats | 216 <li>Formats |
| 217 <ul> | 217 <ul> |
| 218 <li><a href="manifest.html">Manifest Files</a></li> | 218 <li><a href="manifest.html">Manifest Files</a></li> |
| 219 <li><a href="match_patterns.html">Match Patterns</a></li> | 219 <li><a href="match_patterns.html">Match Patterns</a></li> |
| 220 <!-- <li>Packages (.crx)</li> --> | |
| 221 </ul> | 220 </ul> |
| 222 </li> | 221 </li> |
| 222 <li><a href="permission_warnings.html">Permission Warnings</a></li
> |
| 223 <li><a href="api_index.html">chrome.* APIs</a></li> | 223 <li><a href="api_index.html">chrome.* APIs</a></li> |
| 224 <li><a href="api_other.html">Other APIs</a></li> | 224 <li><a href="api_other.html">Other APIs</a></li> |
| 225 </ul> | 225 </ul> |
| 226 </li> | 226 </li> |
| 227 <li><h2><a href="samples.html">Samples</a></h2></li> | 227 <li><h2><a href="samples.html">Samples</a></h2></li> |
| 228 <div class="line"> </div> | 228 <div class="line"> </div> |
| 229 <li><h2>More</h2> | 229 <li><h2>More</h2> |
| 230 <ul> | 230 <ul> |
| 231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm
l">Chrome Web Store</a></li> | 231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm
l">Chrome Web Store</a></li> |
| 232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu
ide.html">Installable Web Apps</a></li> | 232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu
ide.html">Hosted Apps</a></li> |
| 233 <li><a href="themes.html">Themes</a></li> | 233 <li><a href="themes.html">Themes</a></li> |
| 234 </ul> | 234 </ul> |
| 235 </li> | 235 </li> |
| 236 </ul> | 236 </ul> |
| 237 </div> | 237 </div> |
| 238 <script> | 238 <script> |
| 239 initToggles(); | 239 initToggles(); |
| 240 </script> | 240 </script> |
| 241 | 241 |
| 242 <div class="g-unit" id="gc-pagecontent"> | 242 <div class="g-unit" id="gc-pagecontent"> |
| 243 <div id="pageTitle"> | 243 <div id="pageTitle"> |
| 244 <h1 class="page_title">Hosting</h1> | 244 <h1 class="page_title">Hosting</h1> |
| 245 </div> | 245 </div> |
| 246 <!-- TABLE OF CONTENTS --> | 246 <!-- TABLE OF CONTENTS --> |
| 247 <div id="toc"> | 247 <div id="toc" style="display: none; "> |
| 248 <h2>Contents</h2> | 248 <h2>Contents</h2> |
| 249 <ol> | 249 <ol> |
| 250 <li> | 250 <li> |
| 251 <a href="#gallery">Publishing to the Extensions Gallery</a> | 251 <a>h2Name</a> |
| 252 <ol> | 252 <ol> |
| 253 <li style="display: none; "> | 253 <li> |
| 254 <a>h3Name</a> | |
| 255 </li> | |
| 256 </ol> | |
| 257 </li><li> | |
| 258 <a href="#server">Hosting on your own server</a> | |
| 259 <ol> | |
| 260 <li style="display: none; "> | |
| 261 <a>h3Name</a> | 254 <a>h3Name</a> |
| 262 </li> | 255 </li> |
| 263 </ol> | 256 </ol> |
| 264 </li> | 257 </li> |
| 265 <li style="display: none; "> | 258 <li> |
| 266 <a href="#apiReference">API reference</a> | 259 <a href="#apiReference">API reference</a> |
| 267 <ol> | 260 <ol> |
| 268 <li> | 261 <li> |
| 269 <a href="#properties">Properties</a> | 262 <a href="#properties">Properties</a> |
| 270 <ol> | 263 <ol> |
| 271 <li> | 264 <li> |
| 272 <a href="#property-anchor">propertyName</a> | 265 <a href="#property-anchor">propertyName</a> |
| 273 </li> | 266 </li> |
| 274 </ol> | 267 </ol> |
| 275 </li> | 268 </li> |
| (...skipping 27 matching lines...) Expand all Loading... |
| 303 </div> | 296 </div> |
| 304 <!-- /TABLE OF CONTENTS --> | 297 <!-- /TABLE OF CONTENTS --> |
| 305 | 298 |
| 306 <!-- Standard content lead-in for experimental API pages --> | 299 <!-- Standard content lead-in for experimental API pages --> |
| 307 <p id="classSummary" style="display: none; "> | 300 <p id="classSummary" style="display: none; "> |
| 308 For information on how to use experimental APIs, see the <a href="expe
rimental.html">chrome.experimental.* APIs</a> page. | 301 For information on how to use experimental APIs, see the <a href="expe
rimental.html">chrome.experimental.* APIs</a> page. |
| 309 </p> | 302 </p> |
| 310 | 303 |
| 311 <!-- STATIC CONTENT PLACEHOLDER --> | 304 <!-- STATIC CONTENT PLACEHOLDER --> |
| 312 <div id="static"><div id="pageData-name" class="pageData">Hosting</div> | 305 <div id="static"><div id="pageData-name" class="pageData">Hosting</div> |
| 313 <div id="pageData-showTOC" class="pageData">true</div> | |
| 314 | 306 |
| 315 <p> | 307 <p> |
| 316 Until the | 308 This page tells you how to host <code>.crx</code> files |
| 317 <a href="http://code.google.com/chrome/webstore/">Chrome Web Store</a> | 309 on your own server. |
| 318 is available to the public, | 310 If you distribute your extension, app, or theme solely through the |
| 319 you can host your extension | 311 <a href="http://chrome.google.com/webstore">Chrome Web Store</a>, |
| 320 using the <a href="https://chrome.google.com/extensions">Extensions Gallery</a>. | 312 you don't need this page. |
| 321 Once the store is public, | 313 Instead, consult the store help and |
| 322 the gallery's contents will be merged into the store. | 314 <a href="http://code.google.com/chrome/webstore/index.html">developer documentat
ion</a>. |
| 323 Another option | 315 <!-- PENDING: add a link to the help --> |
| 324 is hosting your extension on other servers. | 316 </p> |
| 317 |
| 318 <p class="note"> |
| 319 <strong>Note:</strong> |
| 320 If you've already published extensions to the |
| 321 <a href="https://chrome.google.com/extensions">Extensions Gallery</a>, |
| 322 they will be merged into the store. |
| 325 </p> | 323 </p> |
| 326 | 324 |
| 327 <p> | 325 <p> |
| 328 This page gives tips for using the gallery, | 326 By convention, extensions, |
| 329 as well as details on how to host extensions on your own server. | 327 installable web apps, and themes are served—whether |
| 330 </p> | 328 by the Chrome Web Store or by a custom server—as |
| 331 | 329 <code>.crx</code> files. |
| 332 <h2 id="gallery">Publishing to the Extensions Gallery</h2> | 330 When you upload a ZIP file with the |
| 333 | 331 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope
r Dashboard</a>, |
| 334 <p> | 332 the dashboard creates the <code>.crx</code> file for you. |
| 335 To publish extensions, | |
| 336 you first need to pay a one-time | |
| 337 <a href="http://blog.chromium.org/2010/08/security-improvements-and-registration
.html">$5 developer registration fee</a>. | |
| 338 </p> | |
| 339 | |
| 340 <p class="note"> | |
| 341 <b>Note:</b> | |
| 342 If you used the Chrome Developer Dashboard before | |
| 343 the first developer preview release of the Chrome Web Store — | |
| 344 to publish an extension, for example — | |
| 345 you don't need to pay the fee. | |
| 346 </p> | 333 </p> |
| 347 | 334 |
| 348 <p> | 335 <p> |
| 349 Publishing to the gallery is easy, | 336 If you aren't publishing using the dashboard, |
| 350 but your extension might be more popular | 337 you need to create the <code>.crx</code> file yourself, |
| 351 if you take a little time to prepare: | 338 as described in <a href="packaging.html">Packaging</a>. |
| 352 </p> | 339 You can also specify |
| 353 | 340 <a href="autoupdate.html">autoupdate</a> information to ensure that |
| 354 <ul> | 341 your users will have the latest copy of the <code>.crx</code> file. |
| 355 <li> Visit the | |
| 356 <a href="https://chrome.google.com/extensions">gallery</a> | |
| 357 and look at similar extensions' pages. | |
| 358 Your extension's page should look at least as good as theirs. </li> | |
| 359 <li> Consider creating a support site for your extension, | |
| 360 maybe a <a href="http://groups.google.com">Google Group</a>. | |
| 361 If your extension's page has a link to your support site, | |
| 362 people will be less likely to | |
| 363 complain in the user comments. </li> | |
| 364 <li> Consider creating a custom Gmail account | |
| 365 for this extension or for all of your extensions. | |
| 366 Only one account can upload, publish, and update your extension. </li> | |
| 367 <li> Create some great text (titles and descriptions) | |
| 368 and images (maybe even video) for your extension. | |
| 369 See the | |
| 370 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">g
allery help</a> | |
| 371 for details on screenshot and text requirements. </li> | |
| 372 </ul> | |
| 373 | |
| 374 <p> | |
| 375 To upload your extension, | |
| 376 just zip up your extension's directory, | |
| 377 go to the | |
| 378 <a href="https://chrome.google.com/extensions/developer/dashboard">Developer Das
hboard</a>, | |
| 379 and add your extension. | |
| 380 This creates a page for your extension, | |
| 381 viewable only by you. | |
| 382 Now you can edit your extension's page — | |
| 383 uploading images, specifying text, and so on. | |
| 384 </p> | 342 </p> |
| 385 | 343 |
| 386 <p> | 344 <p> |
| 387 Once you verify that your extension's page looks good | 345 A server that hosts <code>.crx</code> files |
| 388 and all links are valid, | |
| 389 publish your extension. | |
| 390 </p> | |
| 391 | |
| 392 <p> | |
| 393 When you want to update your extension, | |
| 394 use the dashboard to upload and publish the new version. | |
| 395 Your users will automatically get the new version | |
| 396 over the next few hours. | |
| 397 </p> | |
| 398 | |
| 399 | |
| 400 <h2 id="server">Hosting on your own server</h2> | |
| 401 | |
| 402 <p> | |
| 403 By convention, extensions are served — | |
| 404 whether by the gallery or by a custom server — | |
| 405 as <code>.crx</code> files. | |
| 406 When you upload an extension to the gallery, | |
| 407 the gallery creates the <code>.crx</code> file for you. | |
| 408 If you aren't using the gallery, | |
| 409 you need to create the <code>.crx</code> file yourself, | |
| 410 as described in <a href="packaging.html">Packaging</a>. | |
| 411 </p> | |
| 412 | |
| 413 <p class="note"> | |
| 414 <b>Note:</b> | |
| 415 If you do your own hosting, | |
| 416 don't forget to set up | |
| 417 <a href="autoupdate.html">autoupdate</a>, | |
| 418 so you can be sure that | |
| 419 your extension's users have the latest version. | |
| 420 </p> | |
| 421 | |
| 422 <p> | |
| 423 A server that hosts extensions | |
| 424 must use appropriate HTTP headers, | 346 must use appropriate HTTP headers, |
| 425 so that users can install your extension | 347 so that users can install the file |
| 426 by clicking a link to it. | 348 by clicking a link to it. |
| 427 </p> | 349 </p> |
| 428 | 350 |
| 429 <p> | 351 <p> |
| 430 Google Chrome considers a file to be an extension | 352 Google Chrome considers a file to be installable |
| 431 if <b>either</b> of the following is true: | 353 if <b>either</b> of the following is true: |
| 432 </p> | 354 </p> |
| 433 | 355 |
| 434 <ul> | 356 <ul> |
| 435 <li> | 357 <li> |
| 436 The file has the content type | 358 The file has the content type |
| 437 <code>application/x-chrome-extension</code> | 359 <code>application/x-chrome-extension</code> |
| 438 </li> | 360 </li> |
| 439 <li> | 361 <li> |
| 440 The file suffix is <code>.crx</code> | 362 The file suffix is <code>.crx</code> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 454 <li> "unknown/unknown" </li> | 376 <li> "unknown/unknown" </li> |
| 455 <li> "application/unknown" </li> | 377 <li> "application/unknown" </li> |
| 456 <li> "*/*" </li> | 378 <li> "*/*" </li> |
| 457 </ul> | 379 </ul> |
| 458 </li> | 380 </li> |
| 459 </ul> | 381 </ul> |
| 460 </li> | 382 </li> |
| 461 </ul> | 383 </ul> |
| 462 | 384 |
| 463 <p> | 385 <p> |
| 464 The most common reason for failing to recognize an extension | 386 The most common reason for failing to recognize an installable file |
| 465 is that the server sends the header | 387 is that the server sends the header |
| 466 <code>X-Content-Type-Options: no sniff</code>. | 388 <code>X-Content-Type-Options: no sniff</code>. |
| 467 The second most common reason | 389 The second most common reason |
| 468 is that the server sends an unknown content type — | 390 is that the server sends an unknown content type—one |
| 469 one that isn't in the previous list. | 391 that isn't in the previous list. |
| 470 To fix an HTTP header issue, | 392 To fix an HTTP header issue, |
| 471 either change the configuration of the server | 393 either change the configuration of the server |
| 472 or try hosting the extension at another server. | 394 or try hosting the <code>.crx</code> file at another server. |
| 473 </p> | 395 </p> |
| 474 </div> | 396 </div> |
| 475 | 397 |
| 476 <!-- API PAGE --> | 398 <!-- API PAGE --> |
| 477 <div class="apiPage" style="display: none; "> | 399 <div class="apiPage" style="display: none; "> |
| 478 <a name="apiReference"></a> | 400 <a name="apiReference"></a> |
| 479 <h2>API reference: chrome.apiname </h2> | 401 <h2>API reference: chrome.apiname </h2> |
| 480 | 402 |
| 481 <!-- PROPERTIES --> | 403 <!-- PROPERTIES --> |
| 482 <div class="apiGroup"> | 404 <div class="apiGroup"> |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 _uff=0; | 581 _uff=0; |
| 660 urchinTracker(); | 582 urchinTracker(); |
| 661 } | 583 } |
| 662 catch(e) {/* urchinTracker not available. */} | 584 catch(e) {/* urchinTracker not available. */} |
| 663 </script> | 585 </script> |
| 664 <!-- end analytics --> | 586 <!-- end analytics --> |
| 665 </div> | 587 </div> |
| 666 </div> <!-- /gc-footer --> | 588 </div> <!-- /gc-footer --> |
| 667 </div> <!-- /gc-container --> | 589 </div> <!-- /gc-container --> |
| 668 </body></html> | 590 </body></html> |
| OLD | NEW |