Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <div id="pageData-name" class="pageData">Frequently Asked Questions</div> | 1 <div id="pageData-name" class="pageData">Frequently Asked Questions</div> |
| 2 | 2 |
| 3 | 3 |
| 4 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> | 4 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> |
| 5 | 5 |
| 6 <p> | 6 <p> |
| 7 If you don't find an answer to your question here, | 7 If you don't find an answer to your question here, |
| 8 try the | 8 try the |
| 9 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou p</a> or the | 9 <a href="http://code.google.com/chrome/webstore/faq.html">Chrome Web Store FAQ</ a>, the |
| 10 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou p</a>, or the | |
| 10 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle ry help</a>. | 11 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle ry help</a>. |
| 12 <!-- PENDING: add a link to store help --> | |
|
kurrik.chromium
2010/12/07 05:16:30
Just making sure you didn't forget to add this
kathyw
2010/12/07 06:43:32
I'll add it to my list...
| |
| 11 </p> | 13 </p> |
| 12 | 14 |
| 13 <div id="faq-TOC"> | 15 <div id="faq-TOC"> |
| 14 <h4>General</h4> | 16 <h4>General</h4> |
| 15 <ul> | 17 <ul> |
| 16 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> | 18 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> |
| 17 <li><a href="#faq-gen-02">What technologies are used to write extensions for Google Chrome?</a></li> | 19 <li><a href="#faq-gen-02">What technologies are used to write extensions for Chrome?</a></li> |
| 18 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</a></li> | 20 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</a></li> |
| 19 </ul> | 21 </ul> |
| 20 <h4>Development</h4> | 22 <h4>Development</h4> |
| 21 <ul> | 23 <ul> |
| 22 <li><a href="#faq-dev-01">How can I set up Google Chrome for extension devel opment?</a></li> | 24 <li><a href="#faq-dev-01">How can I set up Chrome for extension development? </a></li> |
| 23 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens ion?</a></li> | 25 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens ion?</a></li> |
| 24 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?< /a></li> | 26 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?< /a></li> |
| 25 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> | 27 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> |
| 26 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a ></li> | 28 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a ></li> |
| 27 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> | 29 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> |
| 28 <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSON da ta?</a></li> | 30 <li><a href="#faq-dev-07">Can extensions encode/decode JSON data?</a></li> |
| 29 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> | 31 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> |
| 30 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li > | 32 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li > |
| 31 <li><a href="#faq-dev-10">Can I create an options menu for my application?</ a></li> | 33 <li><a href="#faq-dev-10">Can I create an options menu for my application?</ a></li> |
| 32 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a ></li> | 34 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a ></li> |
| 33 <li><a href="#faq-dev-12">What debugging tools are available to extension de velopers?</a></li> | 35 <li><a href="#faq-dev-12">What debugging tools are available to extension de velopers?</a></li> |
| 34 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> | 36 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> |
| 35 <li><a href="#faq-dev-14">How do I determine which version of Google Chrome is deployed to which channel?</a></li> | 37 <li><a href="#faq-dev-14">How do I determine which version of Chrome is depl oyed to which channel?</a></li> |
| 36 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a>< /li> | 38 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a>< /li> |
| 37 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom ains (TLDs)?</a></li> | 39 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom ains (TLDs)?</a></li> |
| 38 </ul> | 40 </ul> |
| 39 <h4>Features and bugs</h4> | 41 <h4>Features and bugs</h4> |
| 40 <ul> | 42 <ul> |
| 41 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge ts fixed?</a></li> | 43 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge ts fixed?</a></li> |
| 42 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a> </li> | 44 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a> </li> |
| 43 </ul> | 45 </ul> |
| 44 </div> | 46 </div> |
| 45 | 47 |
| 46 <h2>General</h2> | 48 <h2>General</h2> |
| 47 | 49 |
| 48 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> | 50 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> |
| 49 <p> | 51 <p> |
| 50 Google Chrome Extensions are applications that run inside the Google | 52 Google Chrome Extensions are applications that run inside the |
| 51 Chrome browser and provide additional functionality, integration with third | 53 Chrome browser and provide additional functionality, integration with third |
| 52 party websites or services, and customized browsing experiences. | 54 party websites or services, and customized browsing experiences. |
| 53 </p> | 55 </p> |
| 54 | 56 |
| 55 <h3 id="faq-gen-02">What technologies are used to write extensions for Google Ch rome?</h3> | 57 <h3 id="faq-gen-02">What technologies are used to write extensions for Chrome?</ h3> |
| 56 <p> | 58 <p> |
| 57 Google Chrome Extensions are written using the same standard web | 59 Extensions are written using the same standard web |
| 58 technologies that developers use to create websites. HTML is used as a | 60 technologies that developers use to create websites. HTML is used as a |
| 59 content markup language, CSS is used for styling, and JavaScript for | 61 content markup language, CSS is used for styling, and JavaScript for |
| 60 scripting. Because Google Chrome supports HTML5 and CSS3, developers can | 62 scripting. Because Chrome supports HTML5 and CSS3, developers can |
| 61 use the latest open web technologies such as canvas and CSS animations in | 63 use the latest open web technologies such as canvas and CSS animations in |
| 62 their extensions. Extensions also have access to several | 64 their extensions. Extensions also have access to several |
| 63 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A PIs</a> | 65 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A PIs</a> |
| 64 that help perform functions like JSON encoding and interacting with the | 66 that help perform functions like JSON encoding and interacting with the |
| 65 browser. | 67 browser. |
| 66 </p> | 68 </p> |
| 67 | 69 |
| 68 | 70 |
| 69 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i s loaded?</h3> | 71 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i s loaded?</h3> |
| 70 <p> | 72 <p> |
| 71 Extensions are downloaded by the Google Chrome browser upon install, and | 73 Extensions are downloaded by the Chrome browser upon install, and |
| 72 are subsequently run off of the local disk in order to speed up | 74 are subsequently run off of the local disk in order to speed up |
| 73 performance. However, if a new version of the extension is pushed online, | 75 performance. However, if a new version of the extension is pushed online, |
| 74 it will be automatically downloaded in the background to any users who | 76 it will be automatically downloaded in the background to any users who |
| 75 have the extension installed. Extensions may also make requests for remote | 77 have the extension installed. Extensions may also make requests for remote |
| 76 content at any time, in order to interact with a web service or pull new | 78 content at any time, in order to interact with a web service or pull new |
| 77 content from the web. | 79 content from the web. |
| 78 </p> | 80 </p> |
| 79 | 81 |
| 80 | 82 |
| 81 <h2>Development</h2> | 83 <h2>Development</h2> |
| 82 | 84 |
| 83 | 85 |
| 84 <h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h 3> | 86 <h3 id="faq-dev-01">How can I set up Chrome for extension development?</h3> |
| 85 <p> | 87 <p> |
| 86 As long as you are using a version of Google Chrome that supports | 88 As long as you are using a version of Chrome that supports |
| 87 extensions, you already have everything you need to start writing an | 89 extensions, you already have everything you need to start writing an |
| 88 extension of your own. | 90 extension of your own. |
| 89 You can start by turning on Developer mode. | 91 You can start by turning on Developer mode. |
| 90 </p> | 92 </p> |
| 91 | 93 |
| 92 <p> | 94 <p> |
| 93 Click the wrench icon | 95 Click the wrench icon |
| 94 <img src="images/toolsmenu.gif" height="29" width="29" alt="" | 96 <img src="images/toolsmenu.gif" height="29" width="29" alt="" |
| 95 class="nomargin" /> | 97 class="nomargin" /> |
| 96 and select <b>Extensions</b> from the <b>Tools</b> menu | 98 and select <b>Extensions</b> from the <b>Tools</b> menu. |
| 97 (or from the <b>Window</b> menu on Mac). | |
| 98 If there's a "+" next to "Developer mode", | 99 If there's a "+" next to "Developer mode", |
| 99 click the "+" so it turns into a "-". | 100 click the "+" so it turns into a "-". |
| 100 Now you can reload extensions, | 101 Now you can reload extensions, |
| 101 load an unpacked directory of files as if it were a packaged extension, | 102 load an unpacked directory of files as if it were a packaged extension, |
| 102 and more. For a complete tutorial, see | 103 and more. For a complete tutorial, see |
| 103 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta rted</a>. | 104 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta rted</a>. |
| 104 </p> | 105 </p> |
| 105 | 106 |
| 106 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> | 107 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> |
| 107 <p> | 108 <p> |
| 108 Yes. Extensions can make cross-domain requests. See | 109 Yes. Extensions can make cross-domain requests. See |
| 109 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> | 110 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> |
| 110 for more information. | 111 for more information. |
| 111 </p> | 112 </p> |
| 112 | 113 |
| 113 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> | 114 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> |
| 114 <p> | 115 <p> |
| 115 Yes. Google Chrome Extensions are capable of making cross-domain Ajax | 116 Yes. Extensions are capable of making cross-domain Ajax |
| 116 requests, so they can call remote APIs directly. APIs which provide data | 117 requests, so they can call remote APIs directly. APIs that provide data |
| 117 in JSON format are particularly easy to use. | 118 in JSON format are particularly easy to use. |
| 118 </p> | 119 </p> |
| 119 | 120 |
| 120 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> | 121 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> |
| 121 <p> | 122 <p> |
| 122 Absolutely, there are extensions which use OAuth to access remote data | 123 Absolutely, there are extensions that use OAuth to access remote data |
| 123 APIs. Most developers find it convenient to use a | 124 APIs. Most developers find it convenient to use a |
| 124 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu th library</a> | 125 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu th library</a> |
| 125 in order to simplify the process of signing OAuth requests. | 126 in order to simplify the process of signing OAuth requests. |
| 126 </p> | 127 </p> |
| 127 | 128 |
| 128 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> | 129 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> |
| 129 <p> | 130 <p> |
| 130 Extensions use HTML and CSS to define their user interfaces, so you can use | 131 Extensions use HTML and CSS to define their user interfaces, so you can use |
| 131 standard form controls to build your UI, or style the interface with CSS, | 132 standard form controls to build your UI, or style the interface with CSS, |
| 132 as you would a web page. Additionally, your extension may add buttons | 133 as you would a web page. Additionally, your extension may add buttons |
| 133 to the Google Chrome browser itself. See | 134 to the Chrome browser itself. See |
| 134 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser actions</a> | 135 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser actions</a> |
| 135 and | 136 and |
| 136 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action s</a> | 137 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action s</a> |
| 137 for more information. | 138 for more information. |
| 138 </p> | 139 </p> |
| 139 | 140 |
| 140 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> | 141 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> |
| 141 <p> | 142 <p> |
| 142 Yes, using the | 143 Yes, using the |
| 143 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte rface</a>. | 144 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte rface</a>. |
| 144 Because of the possibility for abuse, though, we will review your extension | 145 Because of the possibility for abuse, though, we will review your extension |
| 145 before hosting it in the Google Chrome Extensions Gallery. | 146 before hosting it in the Google Chrome Extensions Gallery |
| 147 or Chrome Web Store. | |
| 146 </p> | 148 </p> |
| 147 | 149 |
| 148 <h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> | 150 <h3 id="faq-dev-07">Can extensions encode/decode JSON data?</h3> |
| 149 <p> | 151 <p> |
| 150 Yes, because V8 (Google Chrome's JavaScript engine) supports | 152 Yes, because V8 (Chrome's JavaScript engine) supports |
| 151 JSON.stringify and JSON.parse natively, you may use these functions in your | 153 JSON.stringify and JSON.parse natively, you may use these functions in your |
| 152 extensions | 154 extensions |
| 153 <a href="http://json.org/js.html">as described here</a> without including | 155 <a href="http://json.org/js.html">as described here</a> without including |
| 154 any additional JSON libraries in your code. | 156 any additional JSON libraries in your code. |
| 155 </p> | 157 </p> |
| 156 | 158 |
| 157 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> | 159 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> |
| 158 <p> | 160 <p> |
| 159 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto rage</a> | 161 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto rage</a> |
| 160 to store string data permanently. Using Google Chrome's built-in JSON | 162 to store string data permanently. Using Chrome's built-in JSON |
| 161 functions, you can store complex data structures in localStorage. For | 163 functions, you can store complex data structures in localStorage. For |
| 162 extensions which have the need to execute SQL queries on their stored data, | 164 extensions that need to execute SQL queries on their stored data, |
| 163 Google Chrome implements | 165 Chrome implements |
| 164 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> | 166 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a>, |
| 165 which may be used as well. | 167 which may be used as well. |
| 166 </p> | 168 </p> |
| 167 | 169 |
| 168 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> | 170 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> |
| 169 <p> | 171 <p> |
| 170 Extensions can store up to 5MB of data in localStorage. | 172 Extensions can store up to 5MB of data in localStorage. |
| 171 </p> | 173 </p> |
| 172 | 174 |
| 173 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> | 175 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> |
| 174 <p> | 176 <p> |
| 175 You can let users set options for your extension by creating an | 177 You can let users set options for your extension by creating an |
| 176 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options page</a> | 178 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options page</a>, |
| 177 which is a simple HTML page that will be loaded when a user clicks the | 179 which is a simple HTML page that will be loaded when a user clicks the |
| 178 "options" button for your extension. This page can read and write settings | 180 "options" button for your extension. This page can read and write settings |
| 179 to localStorage, or even send options to a web server so that they can be | 181 to localStorage, or even send options to a web server so that they can be |
| 180 persisted across browsers. | 182 persisted across browsers. |
| 181 </p> | 183 </p> |
| 182 | 184 |
| 183 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> | 185 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> |
| 184 <p> | 186 <p> |
| 185 Extensions may pass messages to other extensions. See the | 187 Extensions may pass messages to other extensions. See the |
| 186 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa l">message passing documentation</a> | 188 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa l">message passing documentation</a> |
| 187 for more information. | 189 for more information. |
| 188 </p> | 190 </p> |
| 189 | 191 |
| 190 <h3 id="faq-dev-12">What debugging tools are available to extension developers?< /h3> | 192 <h3 id="faq-dev-12">What debugging tools are available to extension developers?< /h3> |
| 191 <p> | 193 <p> |
| 192 Google Chrome's built-in developer tools can be used to debug extensions | 194 Chrome's built-in developer tools can be used to debug extensions |
| 193 as well as web pages. See this | 195 as well as web pages. See this |
| 194 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria l on debugging extensions</a> | 196 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria l on debugging extensions</a> |
| 195 for more information. | 197 for more information. |
| 196 </p> | 198 </p> |
| 197 | 199 |
| 198 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> | 200 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> |
| 199 <p> | 201 <p> |
| 200 Yes, since extensions are built just like websites, they can use | 202 Yes, since extensions are built just like websites, they can use |
| 201 <a href="http://www.google.com/analytics/">Google Analytics</a> to track | 203 <a href="http://www.google.com/analytics/">Google Analytics</a> to track |
| 202 usage. However, we strongly advise you to modify the tracking code to pull | 204 usage. However, we strongly advise you to modify the tracking code to pull |
| 203 an HTTPS version of the Google Analytics library. See | 205 an HTTPS version of the Google Analytics library. See |
| 204 <a href="tut_analytics.html">this tutorial</a> for more information on doing | 206 <a href="tut_analytics.html">this tutorial</a> for more information on doing |
| 205 this. | 207 this. |
| 206 </p> | 208 </p> |
| 207 | 209 |
| 208 <h3 id="faq-dev-14">How do I determine which version of Google Chrome is deploye d to which channel?</h3> | 210 <h3 id="faq-dev-14">How do I determine which version of Chrome is deployed to wh ich channel?</h3> |
| 209 <p> | 211 <p> |
| 210 To determine which version of Google Chrome is currently available on each | 212 To determine which version of Chrome is currently available on each |
| 211 of the different platforms, visit | 213 of the different platforms, visit |
| 212 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that | 214 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that |
| 213 site you will see data in a format similar to: | 215 site you will see data in a format similar to: |
| 214 </p> | 216 </p> |
| 215 <pre>cf,dev,#.#.###.#,#.#.###.# | 217 <pre>cf,dev,#.#.###.#,#.#.###.# |
| 216 cf,beta,#.#.###.#,#.#.###.# | 218 cf,beta,#.#.###.#,#.#.###.# |
| 217 cf,stable,#.#.###.#,#.#.###.# | 219 cf,stable,#.#.###.#,#.#.###.# |
| 218 linux,dev,#.#.###.#,#.#.###.# | 220 linux,dev,#.#.###.#,#.#.###.# |
| 219 linux,beta,#.#.###.#,#.#.###.# | 221 linux,beta,#.#.###.#,#.#.###.# |
| 220 linux,stable,#.#.###.#,#.#.###.# | 222 linux,stable,#.#.###.#,#.#.###.# |
| 221 mac,dev,#.#.###.#,#.#.###.# | 223 mac,dev,#.#.###.#,#.#.###.# |
| 222 mac,beta,#.#.###.#,#.#.###.# | 224 mac,beta,#.#.###.#,#.#.###.# |
| 223 mac,stable,#.#.###.#,#.#.###.# | 225 mac,stable,#.#.###.#,#.#.###.# |
| 224 win,canary,#.#.###.#,#.#.###.# | 226 win,canary,#.#.###.#,#.#.###.# |
| 225 win,dev,#.#.###.#,#.#.###.# | 227 win,dev,#.#.###.#,#.#.###.# |
| 226 win,beta,#.#.###.#,#.#.###.# | 228 win,beta,#.#.###.#,#.#.###.# |
| 227 win,stable,#.#.###.#,#.#.###.#</pre> | 229 win,stable,#.#.###.#,#.#.###.#</pre> |
| 228 | 230 |
| 229 <p> | 231 <p> |
| 230 Each line represents a different platform and channel combination. The | 232 Each line represents a different platform and channel combination. The |
| 231 listed platforms are <code>cf</code> (Google Chrome Frame), | 233 listed platforms are <code>cf</code> (Google Chrome Frame), |
| 232 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed | 234 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed |
| 233 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>, | 235 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>, |
| 234 and <code>stable</code>. | 236 and <code>stable</code>. |
| 235 The two four-part numbers at the end of each line represent the range of | 237 The two four-part numbers at the end of each line represent the range of |
| 236 versions of Google Chrome currently deployed to that platform-channel | 238 versions of Chrome currently deployed to that platform-channel |
| 237 combination. | 239 combination. |
| 238 </p> | 240 </p> |
| 239 | 241 |
| 240 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3> | 242 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3> |
| 241 <p> | 243 <p> |
| 242 No. The extensions APIs have been designed to minimize backwards | 244 No. The extensions APIs have been designed to minimize backwards |
| 243 compatibility issues that can arise when new versions of the browser are | 245 compatibility issues that can arise when new versions of the browser are |
| 244 pushed. Allowing content scripts on <code>chrome://</code> | 246 pushed. Allowing content scripts on <code>chrome://</code> |
| 245 URLs would mean that developers would begin to rely on the DOM, CSS, and | 247 URLs would mean that developers would begin to rely on the DOM, CSS, and |
| 246 JavaScript of these pages to stay the same. In the best case, these pages | 248 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 Loading... | |
| 282 your extension on. | 284 your extension on. |
| 283 </p> | 285 </p> |
| 284 | 286 |
| 285 <h2>Features and bugs</h2> | 287 <h2>Features and bugs</h2> |
| 286 | 288 |
| 287 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets | 289 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets |
| 288 fixed?</h3> | 290 fixed?</h3> |
| 289 <p> | 291 <p> |
| 290 While developing an extension, you may find behavior that does not | 292 While developing an extension, you may find behavior that does not |
| 291 match the extensions documentation and may be the result of a bug in | 293 match the extensions documentation and may be the result of a bug in |
| 292 Google Chrome. The best thing to do is to make sure an appropriate issue | 294 Chrome. The best thing to do is to make sure an appropriate issue |
| 293 report is filed, and the Chromium team has enough information to reproduce | 295 report is filed, and the Chromium team has enough information to reproduce |
| 294 the behavior. | 296 the behavior. |
| 295 </p> | 297 </p> |
| 296 | 298 |
| 297 <p>The steps you should follow to ensure this are:</p> | 299 <p>The steps you should follow to ensure this are:</p> |
| 298 | 300 |
| 299 <ol> | 301 <ol> |
| 300 <li> | 302 <li> |
| 301 Come up with a <em>minimal</em> test extension that demonstrates the issue | 303 Come up with a <em>minimal</em> test extension that demonstrates the issue |
| 302 you wish to report. This extension should have as little code as possible | 304 you wish to report. This extension should have as little code as possible |
| 303 to demonstrate the bug—generally this should be 100 lines of | 305 to demonstrate the bug—generally this should be 100 lines of |
| 304 code or less. Many times, developers find that they cannot reproduce their | 306 code or less. Many times, developers find that they cannot reproduce their |
| 305 issues this way, which is a good indicator that the bug is in their own | 307 issues this way, which is a good indicator that the bug is in their own |
| 306 code. | 308 code. |
| 307 </li> | 309 </li> |
| 308 <li> | 310 <li> |
| 309 Search the issue tracker at | 311 Search the issue tracker at |
| 310 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether | 312 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether |
| 311 someone has reported a similar issue. Most issues related to | 313 someone has reported a similar issue. Most issues related to |
| 312 extensions are filed under <strong>Feature=Extensions</strong>, so to | 314 extensions are filed under <strong>Feature=Extensions</strong>, so to |
| 313 look for an extension bug related to the | 315 look for an extension bug related to the |
| 314 chrome.tabs.executeScript function (for example), search for | 316 chrome.tabs.executeScript function (for example), search for |
| 315 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>" which | 317 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>", |
| 316 will give you | 318 which will give you |
| 317 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3DExt ensions+Type%3DBug+chrome.tabs.executeScript&colspec=ID+Stars+Pri+Area+Feature+T ype+Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"> | 319 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3DExt ensions+Type%3DBug+chrome.tabs.executeScript&colspec=ID+Stars+Pri+Area+Feature+T ype+Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"> |
| 318 this list of results</a>. | 320 this list of results</a>. |
| 319 </li> | 321 </li> |
| 320 <li> | 322 <li> |
| 321 If you find a bug that describes your issue, click the star icon to be | 323 If you find a bug that describes your issue, click the star icon to be |
| 322 notified when the bug receives an update. <em>Do not respond to the | 324 notified when the bug receives an update. <em>Do not respond to the |
| 323 bug to say "me too" or ask "when will this be fixed?"</em>; such updates | 325 bug to say "me too" or ask "when will this be fixed?"</em>; such updates |
| 324 can cause hundreds of emails to be sent. Add a comment only if you have | 326 can cause hundreds of emails to be sent. Add a comment only if you have |
| 325 information (such as a better test case or a suggested fix) that is likely | 327 information (such as a better test case or a suggested fix) that is likely |
| 326 to be helpful. | 328 to be helpful. |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 360 <p>The steps you should follow to ensure this are:</p> | 362 <p>The steps you should follow to ensure this are:</p> |
| 361 | 363 |
| 362 <ol> | 364 <ol> |
| 363 <li> | 365 <li> |
| 364 Search the issue tracker at | 366 Search the issue tracker at |
| 365 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether | 367 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether |
| 366 someone has requested a similar feature. Most requests related to | 368 someone has requested a similar feature. Most requests related to |
| 367 extensions are filed under <strong>Feature=Extensions</strong>, so to | 369 extensions are filed under <strong>Feature=Extensions</strong>, so to |
| 368 look for an extension feature request related to keyboard shortcuts | 370 look for an extension feature request related to keyboard shortcuts |
| 369 (for example), search | 371 (for example), search |
| 370 for "<code>Feature=Extensions Type=Feature shortcuts</code>" which will | 372 for "<code>Feature=Extensions Type=Feature shortcuts</code>", |
| 371 give you | 373 which will give you |
| 372 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3DExt ensions+Type%3DFeature+shortcuts&colspec=ID+Stars+Pri+Area+Feature+Type+Status+S ummary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"> | 374 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3DExt ensions+Type%3DFeature+shortcuts&colspec=ID+Stars+Pri+Area+Feature+Type+Status+S ummary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"> |
| 373 this list of results</a>. | 375 this list of results</a>. |
| 374 </li> | 376 </li> |
| 375 <li> | 377 <li> |
| 376 If you find a ticket that matches your request, click the star icon to be | 378 If you find a ticket that matches your request, click the star icon to be |
| 377 notified when the bug receives an update. <em>Do not respond to the | 379 notified when the bug receives an update. <em>Do not respond to the |
| 378 bug to say "me too" or ask "when will this be implemented?"</em>; such | 380 bug to say "me too" or ask "when will this be implemented?"</em>; such |
| 379 updates can cause hundreds of emails to be sent. | 381 updates can cause hundreds of emails to be sent. |
| 380 </li> | 382 </li> |
| 381 <li> | 383 <li> |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 393 discussion group</a> with a link back to your request. | 395 discussion group</a> with a link back to your request. |
| 394 </li> | 396 </li> |
| 395 <li> | 397 <li> |
| 396 If you originally reported your request on the discussion group and were | 398 If you originally reported your request on the discussion group and were |
| 397 directed to this FAQ entry, reply to your original thread with a link | 399 directed to this FAQ entry, reply to your original thread with a link |
| 398 to the ticket you starred or opened. This will make it easier for others | 400 to the ticket you starred or opened. This will make it easier for others |
| 399 with the same request to find the correct ticket. | 401 with the same request to find the correct ticket. |
| 400 </li> | 402 </li> |
| 401 </ol> | 403 </ol> |
| 402 | 404 |
| OLD | NEW |