[Storage] Blob Storage Refactoring pt 1:
[chromium-blink-merge.git] / chrome / common / extensions / docs / templates / articles / single_purpose.html
blob5081e2c0a0fa2a5533752caad47e1ed3e1426289
1 <h1>Extensions Quality Guidelines FAQ</h1>
3 <h2 id="one">1.) What is the new policy?</h2>
5 <p>
6 To maintain the quality of the Chrome user experience,
7 we recently launched a new policy requiring Chrome extensions
8 to have a single purpose.
9 We are also introducing the new
10 <a href="http://blog.chromium.org/2014/03/protecting-user-settings-on-windows.html">Settings Override API</a>
11 to allow extensions to manage important Chrome settings on Windows.
12 Beginning with the July release of Chrome,
13 the Settings Override API will be the only approved path
14 for offering settings changes to Chrome users on Windows.
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>
17 that extensions in Chrome for Windows be hosted in the Chrome Web Store.
18 </p>
20 <h2 id="two">2.) Why did Google launch a “single purpose” Chrome extensions policy?</h2>
22 <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 <p>We launched this policy because
26 multi-purpose extensions can crowd your browser UI
27 and slow down your web browsing - sometimes significantly.
28 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.
30 Also, unexpected changes to browser functionality and
31 settings have become the number one user complaint for Chrome users,
32 and this policy helps minimize the problem by ensuring
33 that users understand what extensions are doing.
34 </p>
36 <h2 id="three">3.) Where can I find the “single purpose” policy?</h2>
38 <p>
39 Please refer to the
40 <a href="https://developer.chrome.com/webstore/program_policies?csw=1#extensions">Extensions Quality Guidelines</a>
41 section of the Chrome Web Store Developer Program Policies.
42 </p>
44 <h2 id="four">4.) What does “single purpose” actually mean?</h2>
46 <p>
47 “Single purpose” can refer to one of two aspects of an extension:
48 </p>
50 <p>
51 An extension can have a single purpose limited to a narrow
52 <strong>focus area or subject matter</strong>
53 (for example, news headlines", "weather", "comparison shopping").
54 If the extension has a narrow focus area or subject matter,
55 then it can offer various functions related
56 to that focus area or subject matter.
57 For example, a news headlines extension could have a browser action button
58 that allows users to see news stories and replace the new tab page
59 with news-only content,
60 so long as all of those functions are narrowly focused
61 on the news headline focus area.
62 </p>
64 <p>
65 Or, an extension can have a single purpose limited
66 to a narrow <strong>browser function</strong>
67 (for example, "new tab page", "tab management", or "browser history").
68 If the extension is implemented in a single function,
69 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
71 multiple unrelated features on the new tab page
72 (for example, weather forecast, news headlines, search engine, and so on),
73 but it can’t also provide a browser action button,
74 change the browser’s homepage, or
75 make any other changes to browser functionality.
76 </p>
78 <h2 id="five">5.) Will this policy affect my extension?</h2>
80 <p>
81 It depends.
82 Particularly if your extension offers multiple features,
83 please make sure that it has a single purpose.
84 Ask yourself these questions:
85 </p>
87 <ul>
88 <li>Does my extension have a narrow focus area
89 or a narrow function as described above?</li>
90 <li>If my extension has a narrow focus area,
91 are all of the features directly related to that single purpose?</li>
92 <li>If my extension has multiple features,
93 does it only affect a narrow function of the browser?</li>
94 <li>Does my extension modify Chrome’s behavior in a predictable way,
95 in line with the extension's narrow, stated purpose?</li>
96 </ul>
98 <p>
99 If you’re unsure, you can email
100 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.com</a>
101 with your extension ID,
102 and we’ll take a look and try to provide feedback within a week.
103 If your extension does not have a single purpose,
104 then you will need to remove functionality
105 or split your extension into different extensions.
106 </p>
108 <h2 id="six">6.) What will happen
109 if I don’t make my extension compliant with this policy?</h2>
112 If you created your extension after December 19, 2013,
113 your extension will not be permitted in the Chrome Web Store.
114 If you created your extension prior to December 19,2013,
115 your extension may be removed from the Chrome Web Store starting July 22, 2014,
116 although you will still be able to update the extension and file appeals.
117 Please keep in mind that
118 your re-published item will not be immediately published live in the store.
119 The re-published item will undergo a compliance review
120 before it can be restored.
121 </p>
124 In order to minimize disruption for users,
125 we recommend that you take a moment to carefully review your extensions
126 and make necessary updates as soon as possible.
127 You can email us at
128 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.com</a>
129 with your extension ID, and we’ll try to provide feedback within a week.
130 </p>
132 <h2 id="seven">7.) Can my extension make changes to the start page,
133 homepage, and new tab settings?</h2>
136 Yes.
137 If the purpose of your extension is to modify one narrow function
138 of the browser (either the start page, homepage or new tab page, for example),
139 and it does only that, then it would be compliant with the single-purpose policy.
140 Additionally, if the purpose of your extension is limited
141 to one focus area or subject matter,
142 then you can have various functions related to that one area or subject matter,
143 including changes to start page, homepage and new tab page.
144 </p>
147 Beginning with the July release of Chrome,
148 the only way to programmatically change the homepage, search provider,
149 and startup page settings in Chrome on Windows will be via an extension
150 that uses the Settings Override API.
151 Where more than one extension modifies these Chrome settings,
152 the most recently installed extension will manage the settings it has modified
153 via the Settings Override API.
154 Extension developers can modify the new tab page
155 (and a few other Chrome pages) using the same
156 <a href="https://developer.chrome.com/extensions/override">override method</a>
157 as before.
158 </p>
161 In addition,
162 if you want to publish an extension that modifies Chrome settings,
163 you must either control any domains you wish to set in any changed browser settings
164 or redistribute an extension created by the entity that controls those domains.
165 For example, you could distribute an extension that changes the homepage
166 to wikipedia.org if the Wikimedia Foundation originally created and
167 published the extension in the Chrome Web Store,
168 and gave you the right to distribute it.
169 </p>
172 Please see this
173 <a href="http://blog.chromium.org/2014/03/protecting-user-settings-on-windows.html">Chromium blog post</a>
174 for more information.
175 </p>
177 <h2 id="eight">8.) Can my extension make changes to the default search settings?</h2>
180 Yes.
181 If the only purpose of the extension is to change the default search settings,
182 then it would be compliant with the single purpose policy.
183 Additionally,
184 if the single purpose of your extension is search as the narrow focus area,
185 and nothing else, then you can offer various functions related to search,
186 including changes to default search settings.
187 </p>
189 <h2 id="nine">9.) How will users be notified of settings changes in new versions of Chrome?</h2>
192 If an extension changes Chrome settings via the Settings Override API,
193 the user will be notified of the settings changes prior to installation,
194 when they encounter the settings change for the first time,
195 and via an indicator next to each changed setting on the Chrome settings page.
196 From these notifications,
197 users will have the option to reverse the settings changes
198 by disabling the extension.
199 </p>
201 <h2 id="10">10.) What happens to settings when an extension is disabled?</h2>
204 All Chrome settings changed by an extension will be reverted
205 when that extension is disabled.
206 All other settings
207 (for example, those changed directly by a Windows binary)
208 will remain unchanged.
209 </p>
211 <h2 id="eleven">11.) Will users’ existing homepage, search provider or
212 startup pages be affected by the introduction of the Settings Override API?</h2>
216 A user’s existing homepage, search provider or startup settings will
217 remain unchanged by the introduction of Settings Override API.
218 Following the launch of the Settings Override API,
219 only extensions can programmatically change these settings and
220 only through the Settings Override API.
221 But all changes to a user’s homepage, search provider or
222 startup pages made prior to the launch of the Settings Override API,
223 including any that may have been made by Windows binaries,
224 will remain unchanged until the user manually updates those settings or
225 installs an extension that uses the Settings Override API to change them.
226 </p>
228 <h2 id="twelve">12.) Is this new policy Windows-only?</h2>
231 The <a href="https://developer.chrome.com/extensions/hosting_changes">requirement</a>
232 that Chrome extensions be hosted in the Chrome Web Store
233 initially applies only to Windows extensions.
234 Likewise, the new Settings Override API will initially be made available
235 only on Chrome for Windows.
236 However, the single-purpose policy will apply to all Chrome extensions.
237 </p>
239 <h2 id="thirteen">13.) Does this policy apply to Chrome apps too?</h2>
242 At this time, Chrome apps (as distinguished from extensions)
243 are not required to be distributed through the Chrome Web Store,
244 or to have a single purpose.
245 Chrome apps are currently not capable of changing Chrome settings.
246 </p>
248 <h2 id="fourteen">14.) Can I bundle ad injection with some other type of functionality?</h2>
252 This violates the single purpose policy.
253 However, if injecting ads is the single purpose of the extension and
254 the extension is otherwise compliant with Chrome policies,
255 then it would be acceptable.
256 For example, a “related articles” extension that adds sponsored links
257 to articles related to a page the user is visiting would be compliant
258 with the single purpose policy because it has a single purpose limited
259 to a narrow function of the browser.
260 You also might want to explore the other monetization options described
261 <a href="https://developer.chrome.com/webstore/money">here</a>.
262 </p>
264 <h2 id="fifteen">15.) Are toolbars permitted under this policy?</h2>
267 It depends on what the toolbar does.
268 As described in
269 <a href="#four">answer #4</a>,
270 it must adhere to the narrow single purpose of the extension.
271 Broad, multi-purpose toolbars are not allowed and
272 toolbars that are implemented using content scripts
273 to inject UI into every page are not recommended because
274 they slow down every page load, clutter the UI,
275 and can lead to security problems for users.
276 Instead, consider using a
277 <a href="https://developer.chrome.com/extensions/browserAction">browser action popup</a>,
278 which was designed to solve this very problem.
279 It's a better user experience, with no performance or security downsides.
280 </p>
282 <h2 id="sixteen">16.) What will happen to non-compliant extensions
283 that were already installed by users?</h2>
286 All extensions will need to comply with the Extension Quality Guidelines.
287 If a user installed a non-compliant extension,
288 then you will need to update them to a compliant extension
289 that is hosted in the Chrome Web Store.
290 If the user is not updated to a compliant extension
291 that is hosted in the Chrome Web Store,
292 then the extension will be automatically disabled.
293 As noted above,
294 any settings or behaviours controlled by the extension,
295 including any settings controlled by the Settings Override API,
296 will be reverted when the extension is disabled.
297 You can find more information
298 <a href="http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in.html">here</a>.
299 </p>
301 <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,
303 what will happen after the requirement to host extensions
304 in the Chrome Web Store comes into effect?</h2>
307 If your extension is rejected from the Chrome Web Store,
308 you will need to make changes or appeal the decision.
309 After the requirement to host extensions
310 in the Chrome Web Store comes into effect in late May 2014,
311 your extension must be hosted in the Chrome Web Store or
312 it will be automatically disabled from the users’ browsers.
313 </p>
315 <h2 id="eighteen">18.) If my extension gets flagged for review under the single purpose policy,
316 what will happen?</h2>
319 Our team will review it,
320 and it may be removed from the Chrome Web Store.
321 You’ll have a chance to make changes and appeal the decision.
322 As noted above,
323 if you created your extension before we announced the policy on December 19, 2013,
324 you have until July 22, 2014 to make changes.
325 If your extension was created after the policy was announced,
326 it needs to be compliant now.
327 You can temporarily unpublish it and contact us at
328 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.com</a>
329 with your extension ID if you’d like feedback.
330 We’ll try to respond within a week.
331 </p>
333 <h2 id="nineteen">19.) I need help. Who should I contact?</h2>
336 You can email
337 <a href="mailto:chromewebstore-policy@google.com">chromewebstore-policy@google.com</a>
338 with your extension ID,
339 and we’ll take a look and try to provide feedback within a week.
340 This is a lightweight review intended to give you an indication
341 of whether your extension will comply with the new policy.
342 </p>
344 <h2 id="appendix">Appendix: Examples of extensions that comply with the quality guidelines</h2>
347 An extension that adds features to Chrome’s browser history.
348 All of the features are contained in a single browser function.
349 </p>
351 <img src="{{static}}/images/history-extension.png"
352 width="680"
353 height="385"
354 alt="Image of browsing history extension">
357 An extension with a single subject matter:
358 It provides dropdown information about the weather.
359 Because it is focused on one type of content,
360 this extension could also change browser settings, like the new tab page,
361 where the extension displays weather conditions and offers a weather search.
362 </p>
364 <img src="{{static}}/images/extension.png"
365 width="680"
366 height="425"
367 alt="Image of weather extension">
369 <img src="{{static}}/images/search-extension2.png"
370 width="680"
371 height="425"
372 alt="Image of weather extension showing new tab page">
375 A search extension.
376 It has multiple features, including this dropdown,
377 but all of them are related to the narrow subject matter of search.
378 </p>
380 <img src="{{static}}/images/extension2.png"
381 width="680"
382 height="425"
383 alt="Image of search extension">