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

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

Issue 5398002: doc stuff (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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 <!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
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
197 </ul> 196 </ul>
198 </li> 197 </li>
199 <li>Finishing 198 <li>Finishing
200 <ul> 199 <ul>
201 <li><a href="hosting.html">Hosting</a></li> 200 <li><a href="hosting.html">Hosting</a></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">
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 303
304 <!-- STATIC CONTENT PLACEHOLDER --> 304 <!-- STATIC CONTENT PLACEHOLDER -->
305 <div id="static"><div id="pageData-name" class="pageData">Frequently Ask ed Questions</div> 305 <div id="static"><div id="pageData-name" class="pageData">Frequently Ask ed Questions</div>
306 306
307 307
308 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> 308 <!-- <div id="pageData-showTOC" class="pageData">true</div> -->
309 309
310 <p> 310 <p>
311 If you don't find an answer to your question here, 311 If you don't find an answer to your question here,
312 try the 312 try the
313 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou p</a> or the 313 <a href="http://code.google.com/chrome/webstore/faq.html">Chrome Web Store FAQ</ a>, the
314 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou p</a>, or the
314 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle ry help</a>. 315 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle ry help</a>.
316 <!-- PENDING: add a link to store help -->
315 </p> 317 </p>
316 318
317 <div id="faq-TOC"> 319 <div id="faq-TOC">
318 <h4>General</h4> 320 <h4>General</h4>
319 <ul> 321 <ul>
320 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> 322 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li>
321 <li><a href="#faq-gen-02">What technologies are used to write extensions for Google Chrome?</a></li> 323 <li><a href="#faq-gen-02">What technologies are used to write extensions for Chrome?</a></li>
322 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</a></li> 324 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</a></li>
323 </ul> 325 </ul>
324 <h4>Development</h4> 326 <h4>Development</h4>
325 <ul> 327 <ul>
326 <li><a href="#faq-dev-01">How can I set up Google Chrome for extension devel opment?</a></li> 328 <li><a href="#faq-dev-01">How can I set up Chrome for extension development? </a></li>
327 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens ion?</a></li> 329 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens ion?</a></li>
328 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?< /a></li> 330 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?< /a></li>
329 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> 331 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li>
330 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a ></li> 332 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a ></li>
331 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> 333 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li>
332 <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSON da ta?</a></li> 334 <li><a href="#faq-dev-07">Can extensions encode/decode JSON data?</a></li>
333 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> 335 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li>
334 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li > 336 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li >
335 <li><a href="#faq-dev-10">Can I create an options menu for my application?</ a></li> 337 <li><a href="#faq-dev-10">Can I create an options menu for my application?</ a></li>
336 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a ></li> 338 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a ></li>
337 <li><a href="#faq-dev-12">What debugging tools are available to extension de velopers?</a></li> 339 <li><a href="#faq-dev-12">What debugging tools are available to extension de velopers?</a></li>
338 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> 340 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li>
339 <li><a href="#faq-dev-14">How do I determine which version of Google Chrome is deployed to which channel?</a></li> 341 <li><a href="#faq-dev-14">How do I determine which version of Chrome is depl oyed to which channel?</a></li>
340 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a>< /li> 342 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a>< /li>
341 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom ains (TLDs)?</a></li> 343 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom ains (TLDs)?</a></li>
342 </ul> 344 </ul>
343 <h4>Features and bugs</h4> 345 <h4>Features and bugs</h4>
344 <ul> 346 <ul>
345 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge ts fixed?</a></li> 347 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge ts fixed?</a></li>
346 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a> </li> 348 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a> </li>
347 </ul> 349 </ul>
348 </div> 350 </div>
349 351
350 <h2>General</h2> 352 <h2>General</h2>
351 353
352 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> 354 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3>
353 <p> 355 <p>
354 Google Chrome Extensions are applications that run inside the Google 356 Google Chrome Extensions are applications that run inside the
355 Chrome browser and provide additional functionality, integration with third 357 Chrome browser and provide additional functionality, integration with third
356 party websites or services, and customized browsing experiences. 358 party websites or services, and customized browsing experiences.
357 </p> 359 </p>
358 360
359 <h3 id="faq-gen-02">What technologies are used to write extensions for Google Ch rome?</h3> 361 <h3 id="faq-gen-02">What technologies are used to write extensions for Chrome?</ h3>
360 <p> 362 <p>
361 Google Chrome Extensions are written using the same standard web 363 Extensions are written using the same standard web
362 technologies that developers use to create websites. HTML is used as a 364 technologies that developers use to create websites. HTML is used as a
363 content markup language, CSS is used for styling, and JavaScript for 365 content markup language, CSS is used for styling, and JavaScript for
364 scripting. Because Google Chrome supports HTML5 and CSS3, developers can 366 scripting. Because Chrome supports HTML5 and CSS3, developers can
365 use the latest open web technologies such as canvas and CSS animations in 367 use the latest open web technologies such as canvas and CSS animations in
366 their extensions. Extensions also have access to several 368 their extensions. Extensions also have access to several
367 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A PIs</a> 369 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A PIs</a>
368 that help perform functions like JSON encoding and interacting with the 370 that help perform functions like JSON encoding and interacting with the
369 browser. 371 browser.
370 </p> 372 </p>
371 373
372 374
373 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i s loaded?</h3> 375 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i s loaded?</h3>
374 <p> 376 <p>
375 Extensions are downloaded by the Google Chrome browser upon install, and 377 Extensions are downloaded by the Chrome browser upon install, and
376 are subsequently run off of the local disk in order to speed up 378 are subsequently run off of the local disk in order to speed up
377 performance. However, if a new version of the extension is pushed online, 379 performance. However, if a new version of the extension is pushed online,
378 it will be automatically downloaded in the background to any users who 380 it will be automatically downloaded in the background to any users who
379 have the extension installed. Extensions may also make requests for remote 381 have the extension installed. Extensions may also make requests for remote
380 content at any time, in order to interact with a web service or pull new 382 content at any time, in order to interact with a web service or pull new
381 content from the web. 383 content from the web.
382 </p> 384 </p>
383 385
384 386
385 <h2>Development</h2> 387 <h2>Development</h2>
386 388
387 389
388 <h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h 3> 390 <h3 id="faq-dev-01">How can I set up Chrome for extension development?</h3>
389 <p> 391 <p>
390 As long as you are using a version of Google Chrome that supports 392 As long as you are using a version of Chrome that supports
391 extensions, you already have everything you need to start writing an 393 extensions, you already have everything you need to start writing an
392 extension of your own. 394 extension of your own.
393 You can start by turning on Developer mode. 395 You can start by turning on Developer mode.
394 </p> 396 </p>
395 397
396 <p> 398 <p>
397 Click the wrench icon 399 Click the wrench icon
398 <img src="images/toolsmenu.gif" height="29" width="29" alt="" class="nomargin" > 400 <img src="images/toolsmenu.gif" height="29" width="29" alt="" class="nomargin" >
399 and select <b>Extensions</b> from the <b>Tools</b> menu 401 and select <b>Extensions</b> from the <b>Tools</b> menu.
400 (or from the <b>Window</b> menu on Mac).
401 If there's a "+" next to "Developer mode", 402 If there's a "+" next to "Developer mode",
402 click the "+" so it turns into a "-". 403 click the "+" so it turns into a "-".
403 Now you can reload extensions, 404 Now you can reload extensions,
404 load an unpacked directory of files as if it were a packaged extension, 405 load an unpacked directory of files as if it were a packaged extension,
405 and more. For a complete tutorial, see 406 and more. For a complete tutorial, see
406 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta rted</a>. 407 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta rted</a>.
407 </p> 408 </p>
408 409
409 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> 410 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3>
410 <p> 411 <p>
411 Yes. Extensions can make cross-domain requests. See 412 Yes. Extensions can make cross-domain requests. See
412 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> 413 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a>
413 for more information. 414 for more information.
414 </p> 415 </p>
415 416
416 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> 417 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3>
417 <p> 418 <p>
418 Yes. Google Chrome Extensions are capable of making cross-domain Ajax 419 Yes. Extensions are capable of making cross-domain Ajax
419 requests, so they can call remote APIs directly. APIs which provide data 420 requests, so they can call remote APIs directly. APIs that provide data
420 in JSON format are particularly easy to use. 421 in JSON format are particularly easy to use.
421 </p> 422 </p>
422 423
423 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> 424 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3>
424 <p> 425 <p>
425 Absolutely, there are extensions which use OAuth to access remote data 426 Absolutely, there are extensions that use OAuth to access remote data
426 APIs. Most developers find it convenient to use a 427 APIs. Most developers find it convenient to use a
427 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu th library</a> 428 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu th library</a>
428 in order to simplify the process of signing OAuth requests. 429 in order to simplify the process of signing OAuth requests.
429 </p> 430 </p>
430 431
431 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> 432 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3>
432 <p> 433 <p>
433 Extensions use HTML and CSS to define their user interfaces, so you can use 434 Extensions use HTML and CSS to define their user interfaces, so you can use
434 standard form controls to build your UI, or style the interface with CSS, 435 standard form controls to build your UI, or style the interface with CSS,
435 as you would a web page. Additionally, your extension may add buttons 436 as you would a web page. Additionally, your extension may add buttons
436 to the Google Chrome browser itself. See 437 to the Chrome browser itself. See
437 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser actions</a> 438 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser actions</a>
438 and 439 and
439 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action s</a> 440 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action s</a>
440 for more information. 441 for more information.
441 </p> 442 </p>
442 443
443 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> 444 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3>
444 <p> 445 <p>
445 Yes, using the 446 Yes, using the
446 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte rface</a>. 447 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte rface</a>.
447 Because of the possibility for abuse, though, we will review your extension 448 Because of the possibility for abuse, though, we will review your extension
448 before hosting it in the Google Chrome Extensions Gallery. 449 before hosting it in the Google Chrome Extensions Gallery
450 or Chrome Web Store.
449 </p> 451 </p>
450 452
451 <h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> 453 <h3 id="faq-dev-07">Can extensions encode/decode JSON data?</h3>
452 <p> 454 <p>
453 Yes, because V8 (Google Chrome's JavaScript engine) supports 455 Yes, because V8 (Chrome's JavaScript engine) supports
454 JSON.stringify and JSON.parse natively, you may use these functions in your 456 JSON.stringify and JSON.parse natively, you may use these functions in your
455 extensions 457 extensions
456 <a href="http://json.org/js.html">as described here</a> without including 458 <a href="http://json.org/js.html">as described here</a> without including
457 any additional JSON libraries in your code. 459 any additional JSON libraries in your code.
458 </p> 460 </p>
459 461
460 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> 462 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3>
461 <p> 463 <p>
462 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto rage</a> 464 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto rage</a>
463 to store string data permanently. Using Google Chrome's built-in JSON 465 to store string data permanently. Using Chrome's built-in JSON
464 functions, you can store complex data structures in localStorage. For 466 functions, you can store complex data structures in localStorage. For
465 extensions which have the need to execute SQL queries on their stored data, 467 extensions that need to execute SQL queries on their stored data,
466 Google Chrome implements 468 Chrome implements
467 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> 469 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a>,
468 which may be used as well. 470 which may be used as well.
469 </p> 471 </p>
470 472
471 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> 473 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3>
472 <p> 474 <p>
473 Extensions can store up to 5MB of data in localStorage. 475 Extensions can store up to 5MB of data in localStorage.
474 </p> 476 </p>
475 477
476 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> 478 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3>
477 <p> 479 <p>
478 You can let users set options for your extension by creating an 480 You can let users set options for your extension by creating an
479 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options page</a> 481 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options page</a>,
480 which is a simple HTML page that will be loaded when a user clicks the 482 which is a simple HTML page that will be loaded when a user clicks the
481 "options" button for your extension. This page can read and write settings 483 "options" button for your extension. This page can read and write settings
482 to localStorage, or even send options to a web server so that they can be 484 to localStorage, or even send options to a web server so that they can be
483 persisted across browsers. 485 persisted across browsers.
484 </p> 486 </p>
485 487
486 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> 488 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3>
487 <p> 489 <p>
488 Extensions may pass messages to other extensions. See the 490 Extensions may pass messages to other extensions. See the
489 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa l">message passing documentation</a> 491 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa l">message passing documentation</a>
490 for more information. 492 for more information.
491 </p> 493 </p>
492 494
493 <h3 id="faq-dev-12">What debugging tools are available to extension developers?< /h3> 495 <h3 id="faq-dev-12">What debugging tools are available to extension developers?< /h3>
494 <p> 496 <p>
495 Google Chrome's built-in developer tools can be used to debug extensions 497 Chrome's built-in developer tools can be used to debug extensions
496 as well as web pages. See this 498 as well as web pages. See this
497 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria l on debugging extensions</a> 499 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria l on debugging extensions</a>
498 for more information. 500 for more information.
499 </p> 501 </p>
500 502
501 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> 503 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3>
502 <p> 504 <p>
503 Yes, since extensions are built just like websites, they can use 505 Yes, since extensions are built just like websites, they can use
504 <a href="http://www.google.com/analytics/">Google Analytics</a> to track 506 <a href="http://www.google.com/analytics/">Google Analytics</a> to track
505 usage. However, we strongly advise you to modify the tracking code to pull 507 usage. However, we strongly advise you to modify the tracking code to pull
506 an HTTPS version of the Google Analytics library. See 508 an HTTPS version of the Google Analytics library. See
507 <a href="tut_analytics.html">this tutorial</a> for more information on doing 509 <a href="tut_analytics.html">this tutorial</a> for more information on doing
508 this. 510 this.
509 </p> 511 </p>
510 512
511 <h3 id="faq-dev-14">How do I determine which version of Google Chrome is deploye d to which channel?</h3> 513 <h3 id="faq-dev-14">How do I determine which version of Chrome is deployed to wh ich channel?</h3>
512 <p> 514 <p>
513 To determine which version of Google Chrome is currently available on each 515 To determine which version of Chrome is currently available on each
514 of the different platforms, visit 516 of the different platforms, visit
515 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that 517 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that
516 site you will see data in a format similar to: 518 site you will see data in a format similar to:
517 </p> 519 </p>
518 <pre>cf,dev,#.#.###.#,#.#.###.# 520 <pre>cf,dev,#.#.###.#,#.#.###.#
519 cf,beta,#.#.###.#,#.#.###.# 521 cf,beta,#.#.###.#,#.#.###.#
520 cf,stable,#.#.###.#,#.#.###.# 522 cf,stable,#.#.###.#,#.#.###.#
521 linux,dev,#.#.###.#,#.#.###.# 523 linux,dev,#.#.###.#,#.#.###.#
522 linux,beta,#.#.###.#,#.#.###.# 524 linux,beta,#.#.###.#,#.#.###.#
523 linux,stable,#.#.###.#,#.#.###.# 525 linux,stable,#.#.###.#,#.#.###.#
524 mac,dev,#.#.###.#,#.#.###.# 526 mac,dev,#.#.###.#,#.#.###.#
525 mac,beta,#.#.###.#,#.#.###.# 527 mac,beta,#.#.###.#,#.#.###.#
526 mac,stable,#.#.###.#,#.#.###.# 528 mac,stable,#.#.###.#,#.#.###.#
527 win,canary,#.#.###.#,#.#.###.# 529 win,canary,#.#.###.#,#.#.###.#
528 win,dev,#.#.###.#,#.#.###.# 530 win,dev,#.#.###.#,#.#.###.#
529 win,beta,#.#.###.#,#.#.###.# 531 win,beta,#.#.###.#,#.#.###.#
530 win,stable,#.#.###.#,#.#.###.#</pre> 532 win,stable,#.#.###.#,#.#.###.#</pre>
531 533
532 <p> 534 <p>
533 Each line represents a different platform and channel combination. The 535 Each line represents a different platform and channel combination. The
534 listed platforms are <code>cf</code> (Google Chrome Frame), 536 listed platforms are <code>cf</code> (Google Chrome Frame),
535 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed 537 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed
536 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>, 538 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>,
537 and <code>stable</code>. 539 and <code>stable</code>.
538 The two four-part numbers at the end of each line represent the range of 540 The two four-part numbers at the end of each line represent the range of
539 versions of Google Chrome currently deployed to that platform-channel 541 versions of Chrome currently deployed to that platform-channel
540 combination. 542 combination.
541 </p> 543 </p>
542 544
543 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3> 545 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3>
544 <p> 546 <p>
545 No. The extensions APIs have been designed to minimize backwards 547 No. The extensions APIs have been designed to minimize backwards
546 compatibility issues that can arise when new versions of the browser are 548 compatibility issues that can arise when new versions of the browser are
547 pushed. Allowing content scripts on <code>chrome://</code> 549 pushed. Allowing content scripts on <code>chrome://</code>
548 URLs would mean that developers would begin to rely on the DOM, CSS, and 550 URLs would mean that developers would begin to rely on the DOM, CSS, and
549 JavaScript of these pages to stay the same. In the best case, these pages 551 JavaScript of these pages to stay the same. In the best case, these pages
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 your extension on. 587 your extension on.
586 </p> 588 </p>
587 589
588 <h2>Features and bugs</h2> 590 <h2>Features and bugs</h2>
589 591
590 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets 592 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets
591 fixed?</h3> 593 fixed?</h3>
592 <p> 594 <p>
593 While developing an extension, you may find behavior that does not 595 While developing an extension, you may find behavior that does not
594 match the extensions documentation and may be the result of a bug in 596 match the extensions documentation and may be the result of a bug in
595 Google Chrome. The best thing to do is to make sure an appropriate issue 597 Chrome. The best thing to do is to make sure an appropriate issue
596 report is filed, and the Chromium team has enough information to reproduce 598 report is filed, and the Chromium team has enough information to reproduce
597 the behavior. 599 the behavior.
598 </p> 600 </p>
599 601
600 <p>The steps you should follow to ensure this are:</p> 602 <p>The steps you should follow to ensure this are:</p>
601 603
602 <ol> 604 <ol>
603 <li> 605 <li>
604 Come up with a <em>minimal</em> test extension that demonstrates the issue 606 Come up with a <em>minimal</em> test extension that demonstrates the issue
605 you wish to report. This extension should have as little code as possible 607 you wish to report. This extension should have as little code as possible
606 to demonstrate the bug—generally this should be 100 lines of 608 to demonstrate the bug—generally this should be 100 lines of
607 code or less. Many times, developers find that they cannot reproduce their 609 code or less. Many times, developers find that they cannot reproduce their
608 issues this way, which is a good indicator that the bug is in their own 610 issues this way, which is a good indicator that the bug is in their own
609 code. 611 code.
610 </li> 612 </li>
611 <li> 613 <li>
612 Search the issue tracker at 614 Search the issue tracker at
613 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether 615 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether
614 someone has reported a similar issue. Most issues related to 616 someone has reported a similar issue. Most issues related to
615 extensions are filed under <strong>Feature=Extensions</strong>, so to 617 extensions are filed under <strong>Feature=Extensions</strong>, so to
616 look for an extension bug related to the 618 look for an extension bug related to the
617 chrome.tabs.executeScript function (for example), search for 619 chrome.tabs.executeScript function (for example), search for
618 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>" which 620 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>",
619 will give you 621 which will give you
620 <a href="http://code.google.com/p/chromium/issues/list?can=2&amp;q=Feature%3 DExtensions+Type%3DBug+chrome.tabs.executeScript&amp;colspec=ID+Stars+Pri+Area+F eature+Type+Status+Summary+Modified+Owner+Mstone+OS&amp;x=mstone&amp;y=area&amp; cells=tiles"> 622 <a href="http://code.google.com/p/chromium/issues/list?can=2&amp;q=Feature%3 DExtensions+Type%3DBug+chrome.tabs.executeScript&amp;colspec=ID+Stars+Pri+Area+F eature+Type+Status+Summary+Modified+Owner+Mstone+OS&amp;x=mstone&amp;y=area&amp; cells=tiles">
621 this list of results</a>. 623 this list of results</a>.
622 </li> 624 </li>
623 <li> 625 <li>
624 If you find a bug that describes your issue, click the star icon to be 626 If you find a bug that describes your issue, click the star icon to be
625 notified when the bug receives an update. <em>Do not respond to the 627 notified when the bug receives an update. <em>Do not respond to the
626 bug to say "me too" or ask "when will this be fixed?"</em>; such updates 628 bug to say "me too" or ask "when will this be fixed?"</em>; such updates
627 can cause hundreds of emails to be sent. Add a comment only if you have 629 can cause hundreds of emails to be sent. Add a comment only if you have
628 information (such as a better test case or a suggested fix) that is likely 630 information (such as a better test case or a suggested fix) that is likely
629 to be helpful. 631 to be helpful.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 <p>The steps you should follow to ensure this are:</p> 665 <p>The steps you should follow to ensure this are:</p>
664 666
665 <ol> 667 <ol>
666 <li> 668 <li>
667 Search the issue tracker at 669 Search the issue tracker at
668 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether 670 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether
669 someone has requested a similar feature. Most requests related to 671 someone has requested a similar feature. Most requests related to
670 extensions are filed under <strong>Feature=Extensions</strong>, so to 672 extensions are filed under <strong>Feature=Extensions</strong>, so to
671 look for an extension feature request related to keyboard shortcuts 673 look for an extension feature request related to keyboard shortcuts
672 (for example), search 674 (for example), search
673 for "<code>Feature=Extensions Type=Feature shortcuts</code>" which will 675 for "<code>Feature=Extensions Type=Feature shortcuts</code>",
674 give you 676 which will give you
675 <a href="http://code.google.com/p/chromium/issues/list?can=2&amp;q=Feature%3 DExtensions+Type%3DFeature+shortcuts&amp;colspec=ID+Stars+Pri+Area+Feature+Type+ Status+Summary+Modified+Owner+Mstone+OS&amp;x=mstone&amp;y=area&amp;cells=tiles" > 677 <a href="http://code.google.com/p/chromium/issues/list?can=2&amp;q=Feature%3 DExtensions+Type%3DFeature+shortcuts&amp;colspec=ID+Stars+Pri+Area+Feature+Type+ Status+Summary+Modified+Owner+Mstone+OS&amp;x=mstone&amp;y=area&amp;cells=tiles" >
676 this list of results</a>. 678 this list of results</a>.
677 </li> 679 </li>
678 <li> 680 <li>
679 If you find a ticket that matches your request, click the star icon to be 681 If you find a ticket that matches your request, click the star icon to be
680 notified when the bug receives an update. <em>Do not respond to the 682 notified when the bug receives an update. <em>Do not respond to the
681 bug to say "me too" or ask "when will this be implemented?"</em>; such 683 bug to say "me too" or ask "when will this be implemented?"</em>; such
682 updates can cause hundreds of emails to be sent. 684 updates can cause hundreds of emails to be sent.
683 </li> 685 </li>
684 <li> 686 <li>
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 _uff=0; 893 _uff=0;
892 urchinTracker(); 894 urchinTracker();
893 } 895 }
894 catch(e) {/* urchinTracker not available. */} 896 catch(e) {/* urchinTracker not available. */}
895 </script> 897 </script>
896 <!-- end analytics --> 898 <!-- end analytics -->
897 </div> 899 </div>
898 </div> <!-- /gc-footer --> 900 </div> <!-- /gc-footer -->
899 </div> <!-- /gc-container --> 901 </div> <!-- /gc-container -->
900 </body></html> 902 </body></html>
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/external_extensions.html ('k') | chrome/common/extensions/docs/getstarted.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698