Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <h1>Extensions Quality Guidelines FAQ</h1> | 1 <h1>Extensions Quality Guidelines FAQ</h1> |
| 2 | 2 |
| 3 <h2 id="one">1.) What is the new policy?</h2> | 3 <h2 id="one">1.) What is the new policy?</h2> |
| 4 | 4 |
| 5 <p> | 5 <p> |
| 6 To maintain the quality of the Chrome user experience, | 6 To maintain the quality of the Chrome user experience, |
| 7 we recently launched a new policy requiring Chrome extensions | 7 we recently launched a new policy requiring Chrome extensions |
| 8 to have a single purpose. | 8 to have a single purpose. |
| 9 We are also introducing the new | 9 We are also introducing the new |
| 10 <a href="http://blog.chromium.org/2014/03/protecting-user-settings-on-windows.ht ml">Settings Override API</a> | 10 <a href="http://blog.chromium.org/2014/03/protecting-user-settings-on-windows.ht ml">Settings Override API</a> |
| 11 to allow extensions to manage important Chrome settings on Windows. | 11 to allow extensions to manage important Chrome settings on Windows. |
| 12 Beginning with the July release of Chrome, | 12 Beginning with the July release of Chrome, |
|
not at google - send to devlin
2015/05/13 18:23:27
You may want to say "July 2014" here?
mkearney1
2015/05/13 18:36:36
Done.
| |
| 13 the Settings Override API will be the only approved path | 13 the Settings Override API will be the only approved path |
| 14 for offering settings changes to Chrome users on Windows. | 14 for offering settings changes to Chrome users on Windows. |
| 15 In addition, starting with the May 20, 2014 release of Chrome, | 15 In addition, starting with the May 20, 2014 release of Chrome, |
| 16 we <a href="http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in. html">have begun to require</a> | 16 we <a href="http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in. html">have begun to require</a> |
| 17 that extensions in Chrome for Windows be hosted in the Chrome Web Store. | 17 that extensions in Chrome for Windows be hosted in the Chrome Web Store. |
| 18 Starting in Chrome M44 in July 2015, | |
|
not at google - send to devlin
2015/05/13 18:23:27
I think publicly we don't put the "M" prefix, it's
mkearney1
2015/05/13 18:36:36
Done.
| |
| 19 extensions in Mac are also required to be hosted in the Chrome Web Store. | |
| 18 </p> | 20 </p> |
| 19 | 21 |
| 20 <h2 id="two">2.) Why did Google launch a “single purpose” Chrome extensions poli cy?</h2> | 22 <h2 id="two">2.) Why did Google launch a “single purpose” Chrome extensions poli cy?</h2> |
| 21 | 23 |
| 22 <p>For an overview of the policy announcement, please read this | 24 <p>For an overview of the policy announcement, please read this |
| 23 <a href="http://blog.chromium.org/2013/12/keeping-chrome-extensions-simple.html" >Chromium blog post</a>.</p> | 25 <a href="http://blog.chromium.org/2013/12/keeping-chrome-extensions-simple.html" >Chromium blog post</a>.</p> |
| 24 | 26 |
| 25 <p>We launched this policy because | 27 <p>We launched this policy because |
| 26 multi-purpose extensions can crowd your browser UI | 28 multi-purpose extensions can crowd your browser UI |
| 27 and slow down your web browsing - sometimes significantly. | 29 and slow down your web browsing sometimes significantly. |
| 28 Speed and simplicity have always been part of Chrome's core principles, | 30 Speed and simplicity have always been part of Chrome's core principles, |
| 29 so this policy will help us get back to the design that was originally intended. | 31 so this policy will help us get back to the design that was originally intended. |
| 30 Also, unexpected changes to browser functionality and | 32 Also, unexpected changes to browser functionality and |
| 31 settings have become the number one user complaint for Chrome users, | 33 settings have become the number one user complaint for Chrome users, |
| 32 and this policy helps minimize the problem by ensuring | 34 and this policy helps minimize the problem by ensuring |
| 33 that users understand what extensions are doing. | 35 that users understand what extensions are doing. |
| 34 </p> | 36 </p> |
| 35 | 37 |
| 36 <h2 id="three">3.) Where can I find the “single purpose” policy?</h2> | 38 <h2 id="three">3.) Where can I find the “single purpose” policy?</h2> |
| 37 | 39 |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 68 If the extension is implemented in a single function, | 70 If the extension is implemented in a single function, |
| 69 then it can offer content or features related to different areas or subjects. | 71 then it can offer content or features related to different areas or subjects. |
| 70 For example, an extension that replaces the new tab page could offer | 72 For example, an extension that replaces the new tab page could offer |
| 71 multiple unrelated features on the new tab page | 73 multiple unrelated features on the new tab page |
| 72 (for example, weather forecast, news headlines, search engine, and so on), | 74 (for example, weather forecast, news headlines, search engine, and so on), |
| 73 but it can’t also provide a browser action button, | 75 but it can’t also provide a browser action button, |
| 74 change the browser’s homepage, or | 76 change the browser’s homepage, or |
| 75 make any other changes to browser functionality. | 77 make any other changes to browser functionality. |
| 76 </p> | 78 </p> |
| 77 | 79 |
| 80 <p> | |
| 81 Be conscious of your extension’s permissions. | |
| 82 We assume your extension utilizes each of the permissions it requests. | |
| 83 Excessive permissions unrelated to your extension’s single purpose will be viewe d | |
| 84 as enabling unrelated functionalities, resulting in a policy violation. | |
| 85 </p> | |
| 86 | |
| 78 <h2 id="five">5.) Will this policy affect my extension?</h2> | 87 <h2 id="five">5.) Will this policy affect my extension?</h2> |
| 79 | 88 |
| 80 <p> | 89 <p> |
| 81 It depends. | 90 It depends. |
| 82 Particularly if your extension offers multiple features, | 91 Particularly if your extension offers multiple features, |
| 83 please make sure that it has a single purpose. | 92 please make sure that it has a single purpose. |
| 84 Ask yourself these questions: | 93 Ask yourself these questions: |
| 85 </p> | 94 </p> |
| 86 | 95 |
| 87 <ul> | 96 <ul> |
| 88 <li>Does my extension have a narrow focus area | 97 <li>Does my extension have a narrow focus area |
| 89 or a narrow function as described above?</li> | 98 or a narrow function as described above?</li> |
| 90 <li>If my extension has a narrow focus area, | 99 <li>If my extension has a narrow focus area, |
| 91 are all of the features directly related to that single purpose?</li> | 100 are all of the features directly related to that single purpose?</li> |
| 92 <li>If my extension has multiple features, | 101 <li>If my extension has multiple features, |
| 93 does it only affect a narrow function of the browser?</li> | 102 does it only affect a narrow function of the browser?</li> |
| 94 <li>Does my extension modify Chrome’s behavior in a predictable way, | 103 <li>Does my extension modify Chrome’s behavior in a predictable way, |
| 95 in line with the extension's narrow, stated purpose?</li> | 104 in line with the extension's narrow, stated purpose?</li> |
| 105 <li>Does my extension request any unnecessary permissions?</li> | |
| 96 </ul> | 106 </ul> |
| 97 | 107 |
| 98 <p> | 108 <p> |
| 99 If you’re unsure, you can email | 109 If you’re unsure, you can email |
| 100 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.c om</a> | 110 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.c om</a> |
| 101 with your extension ID, | 111 with your extension ID, |
| 102 and we’ll take a look and try to provide feedback within a week. | 112 and we’ll take a look and try to provide feedback within a week. |
| 103 If your extension does not have a single purpose, | 113 If your extension does not have a single purpose, |
| 104 then you will need to remove functionality | 114 then you will need to remove functionality |
| 105 or split your extension into different extensions. | 115 or split your extension into different extensions. |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 218 Following the launch of the Settings Override API, | 228 Following the launch of the Settings Override API, |
| 219 only extensions can programmatically change these settings and | 229 only extensions can programmatically change these settings and |
| 220 only through the Settings Override API. | 230 only through the Settings Override API. |
| 221 But all changes to a user’s homepage, search provider or | 231 But all changes to a user’s homepage, search provider or |
| 222 startup pages made prior to the launch of the Settings Override API, | 232 startup pages made prior to the launch of the Settings Override API, |
| 223 including any that may have been made by Windows binaries, | 233 including any that may have been made by Windows binaries, |
| 224 will remain unchanged until the user manually updates those settings or | 234 will remain unchanged until the user manually updates those settings or |
| 225 installs an extension that uses the Settings Override API to change them. | 235 installs an extension that uses the Settings Override API to change them. |
| 226 </p> | 236 </p> |
| 227 | 237 |
| 228 <h2 id="twelve">12.) Is this new policy Windows-only?</h2> | 238 <h2 id="twelve">12.) Is this new policy only on some operating systems?</h2> |
| 229 | 239 |
| 230 <p> | 240 <p> |
| 231 The <a href="https://developer.chrome.com/extensions/hosting_changes">requiremen t</a> | 241 The <a href="https://developer.chrome.com/extensions/hosting_changes">requiremen t</a> |
| 232 that Chrome extensions be hosted in the Chrome Web Store | 242 that Chrome extensions be hosted in the Chrome Web Store |
| 233 initially applies only to Windows extensions. | 243 initially applies only to Windows and Mac extensions. |
| 234 Likewise, the new Settings Override API will initially be made available | 244 The new Settings Override API will initially be made available |
| 235 only on Chrome for Windows. | 245 only on Chrome for Windows. |
| 236 However, the single-purpose policy will apply to all Chrome extensions. | 246 However, the single-purpose policy will apply to all Chrome extensions. |
| 237 </p> | 247 </p> |
| 238 | 248 |
| 239 <h2 id="thirteen">13.) Does this policy apply to Chrome apps too?</h2> | 249 <h2 id="thirteen">13.) Does this policy apply to Chrome apps too?</h2> |
| 240 | 250 |
| 241 <p> | 251 <p> |
| 242 At this time, Chrome apps (as distinguished from extensions) | 252 At this time, Chrome apps (as distinguished from extensions) |
| 243 are not required to be distributed through the Chrome Web Store, | 253 are not required to be distributed through the Chrome Web Store, |
| 244 or to have a single purpose. | 254 or to have a single purpose. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 276 Instead, consider using a | 286 Instead, consider using a |
| 277 <a href="https://developer.chrome.com/extensions/browserAction">browser action p opup</a>, | 287 <a href="https://developer.chrome.com/extensions/browserAction">browser action p opup</a>, |
| 278 which was designed to solve this very problem. | 288 which was designed to solve this very problem. |
| 279 It's a better user experience, with no performance or security downsides. | 289 It's a better user experience, with no performance or security downsides. |
| 280 </p> | 290 </p> |
| 281 | 291 |
| 282 <h2 id="sixteen">16.) What will happen to non-compliant extensions | 292 <h2 id="sixteen">16.) What will happen to non-compliant extensions |
| 283 that were already installed by users?</h2> | 293 that were already installed by users?</h2> |
| 284 | 294 |
| 285 <p> | 295 <p> |
| 286 All extensions will need to comply with the Extension Quality Guidelines. | 296 All extensions must comply with the Extension Quality Guidelines. |
| 287 If a user installed a non-compliant extension, | 297 If a user installed a non-compliant extension, |
| 288 then you will need to update them to a compliant extension | 298 then you will need to update them to a compliant extension |
| 289 that is hosted in the Chrome Web Store. | 299 that is hosted in the Chrome Web Store. |
| 290 If the user is not updated to a compliant extension | 300 If the user is not updated to a compliant extension |
| 291 that is hosted in the Chrome Web Store, | 301 that is hosted in the Chrome Web Store, |
| 292 then the extension will be automatically disabled. | 302 then the extension will be automatically disabled. |
| 293 As noted above, | 303 As noted above, |
| 294 any settings or behaviours controlled by the extension, | 304 any settings or behaviours controlled by the extension, |
| 295 including any settings controlled by the Settings Override API, | 305 including any settings controlled by the Settings Override API, |
| 296 will be reverted when the extension is disabled. | 306 will be reverted when the extension is disabled. |
| 297 You can find more information | 307 You can find more information |
| 298 <a href="http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in.htm l">here</a>. | 308 <a href="http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in.htm l">here</a>. |
| 299 </p> | 309 </p> |
| 300 | 310 |
| 301 <h2 id="seventeen">17.) If my extension is rejected from the Chrome Web Store | 311 <h2 id="seventeen">17.) If my extension is rejected from the Chrome Web Store |
| 302 because it doesn’t comply with the single purpose policy, | 312 because it doesn’t comply with the single purpose policy, |
| 303 what will happen after the requirement to host extensions | 313 what will happen after the requirement to host extensions |
| 304 in the Chrome Web Store comes into effect?</h2> | 314 in the Chrome Web Store comes into effect?</h2> |
| 305 | 315 |
| 306 <p> | 316 <p> |
| 307 If your extension is rejected from the Chrome Web Store, | 317 If your extension is rejected from the Chrome Web Store, |
| 308 you will need to make changes or appeal the decision. | 318 you will need to make changes or appeal the decision. |
| 309 After the requirement to host extensions | 319 After the requirement to host extensions |
| 310 in the Chrome Web Store comes into effect in late May 2014, | 320 in the Chrome Web Store comes into effect for Windows in late May 2014, |
| 311 your extension must be hosted in the Chrome Web Store or | 321 your extension must be hosted in the Chrome Web Store or |
| 312 it will be automatically disabled from the users’ browsers. | 322 it will be automatically disabled from the users’ browsers. |
| 323 The same will occur for Mac extensions that are not hosted | |
| 324 on the Chrome Web Store prior to the release of M44 in July 2015. | |
| 313 </p> | 325 </p> |
| 314 | 326 |
| 315 <h2 id="eighteen">18.) If my extension gets flagged for review under the single purpose policy, | 327 <h2 id="eighteen">18.) If my extension gets flagged for review under the single purpose policy, |
| 316 what will happen?</h2> | 328 what will happen?</h2> |
| 317 | 329 |
| 318 <p> | 330 <p> |
| 319 Our team will review it, | 331 Our team will review it, |
| 320 and it may be removed from the Chrome Web Store. | 332 and it may be removed from the Chrome Web Store. |
| 321 You’ll have a chance to make changes and appeal the decision. | 333 You’ll have a chance to make changes and appeal the decision. |
| 322 As noted above, | 334 As noted above, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 375 A search extension. | 387 A search extension. |
| 376 It has multiple features, including this dropdown, | 388 It has multiple features, including this dropdown, |
| 377 but all of them are related to the narrow subject matter of search. | 389 but all of them are related to the narrow subject matter of search. |
| 378 </p> | 390 </p> |
| 379 | 391 |
| 380 <img src="{{static}}/images/extension2.png" | 392 <img src="{{static}}/images/extension2.png" |
| 381 width="680" | 393 width="680" |
| 382 height="425" | 394 height="425" |
| 383 alt="Image of search extension"> | 395 alt="Image of search extension"> |
| 384 | 396 |
| OLD | NEW |