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

Side by Side Diff: chrome/common/extensions/docs/templates/articles/single_purpose.html

Issue 1137753005: Updating extension hosting docs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changes to extensions policy Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698