Index: chrome/common/extensions/docs/server2/templates/articles/manifestVersion.html |
diff --git a/chrome/common/extensions/docs/server2/templates/articles/manifestVersion.html b/chrome/common/extensions/docs/server2/templates/articles/manifestVersion.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..faa8c2f0de9576208559d1a181daa3aa29a4043c |
--- /dev/null |
+++ b/chrome/common/extensions/docs/server2/templates/articles/manifestVersion.html |
@@ -0,0 +1,240 @@ |
+<h1>Manifest Version</h1> |
+ |
+<style type="text/css"> |
+#schedule h3 { |
+ margin-bottom:0; |
+} |
+ |
+#schedule p { |
+ margin-top:0; |
+ margin-bottom:1em; |
+} |
+</style> |
+ |
+<p> |
+ Extensions, themes, and applications are simply bundles of resources, wrapped |
+ up with a <a href="manifest.html"><code>manifest.json</code></a> file that |
+ describes the package's contents. The format of this file is generally stable, |
+ but occasionally breaking changes must be made to address important issues. |
+ Developers should specify which version of the manifest specification their |
+ package targets by setting a <code>manifest_version</code> key in their |
+ manifests. |
+</p> |
+ |
+<h2>Current Version</h2> |
+ |
+<p> |
+ Developers should currently specify |
+ <strong><code>'manifest_version': 2</code></strong>: |
+</p> |
+ |
+<pre>{ |
+ ..., |
+ "manifest_version": 2, |
+ ... |
+}</pre> |
+ |
+<p> |
+ Manifest version 1 was <em>deprecated</em> in Chrome 18, and support will |
+ be phased out according to the following schedule. |
+</p> |
+ |
+<h2>Manifest version 1 support schedule</h2> |
+ |
+<div id="schedule"> |
+<h3>Chrome 21</h3> |
+<p><em>Beta: Early July 2012; |
+ Stable: Mid-August 2012</em></p> |
+<ul> |
+ <li>The Web Store will block creation of new manifest version 1 items. |
+ <li>The Web Store will allow updates to existing manifest version 1 items. |
+</ul> |
+ |
+<h3>Chrome 23</h3> |
+<p><em>Beta: Late September 2012; |
+ Stable: Early November 2012</em></p> |
+<ul> |
+ <li>The Web Store will block updates to manifest version 1 items. |
+ <li>Chrome will stop packaging manifest version 1 items (or loading |
+ them for development). |
+</ul> |
+ |
+<h3>First Quarter 2013</h3> |
+<ul> |
+ <li>The Web Store will remove manifest version 1 items from the wall, |
+ search results, and category pages. |
+ <li>Notice emails will be sent to all developers with manifest |
+ version 1 items still in the store reminding them that these |
+ items will be unpublished and providing update instructions. |
+</ul> |
+ |
+<h3>Second Quarter 2013</h3> |
+<ul> |
+ <li>The Web Store will unpublish all manifest version 1 items. |
+ <li>Final notice emails will be sent to developers with manifest |
+ version 1 items still in the Web Store. |
+ <li>Chrome will continue to load and run installed manifest |
+ version 1 items. |
+</ul> |
+ |
+<h3>Third Quarter 2013</h3> |
+<ul> |
+ <li>Chrome will stop loading or running manifest |
+ version 1 items. |
+</ul> |
+</div> |
+ |
+<h2>Changes between version 1 and 2</h2> |
+ |
+<ul> |
+ <li> |
+ <p> |
+ A content security policy is set to <code>`script-src 'self'; object-src |
+ 'self'</code> by default. This has a variety of impacts on developers, |
+ described at length in the <a href="contentSecurityPolicy.html"> |
+ <code>content_security_policy</code></a> documentation. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ A package's resources are no longer available by default to external |
+ websites (as the <code>src</code> of an image, or a <code>script</code> |
+ tag). If you want a website to be able to load a resource contained in |
+ your package, you'll need to explicitly whitelist it via the |
+ <a href="manifest.html#web_accessible_resources"> |
+ <code>web_accessible_resources</code> |
+ </a> manifest attribute. This is particularly relevant for extensions that |
+ build up an interface on a website via injected content scripts. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>background_page</code> property has been replaced with a |
+ <code>background</code> property that contains <em>either</em> a |
+ <code>scripts</code> or <code>page</code> property. Details are available |
+ in the <a href="background_pages.html">Background Pages</a> documentation. |
+ </p> |
+ </li> |
+ <li> |
+ <p>Browser action changes:</p> |
+ <ul> |
+ <li> |
+ <p> |
+ The <code>browser_actions</code> key in the manifest, and the |
+ <code>chrome.browserActions</code> API are gone. Use the singular |
+ <a href="browserAction.html"> |
+ <code>browser_action</code> and <code>chrome.browserAction</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>icons</code> property of <code>browser_action</code> has |
+ been removed. Use <a href="browserAction.html#manifest"> |
+ the <code>default_icon</code> property |
+ </a> or <a href="browserAction.html#method-setIcon"> |
+ <code>chrome.browserAction.setIcon</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>name</code> property of <code>browser_action</code> has been |
+ removed. Use <a href="browserAction.html#manifest"> |
+ the <code>default_title</code> property |
+ </a> or <a href="browserAction.html#method-setTitle"> |
+ <code>chrome.browserAction.setTitle</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>popup</code> property of <code>browser_action</code> has |
+ been removed. Use <a href="browserAction.html#manifest"> |
+ the <code>default_popup</code> property |
+ </a> or <a href="browserAction.html#method-setPopup"> |
+ <code>chrome.browserAction.setPopup</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>default_popup</code> property of <code>browser_action</code> |
+ can no longer be specified as an object. It must be a string. |
+ </p> |
+ </li> |
+ </ul> |
+ </li> |
+ <li> |
+ <p>Page action changes:</p> |
+ <ul> |
+ <li> |
+ <p> |
+ The <code>page_actions</code> key in the manifest, and the |
+ <code>chrome.pageActions</code> API are gone. Use the singular |
+ <a href="pageAction.html"> |
+ <code>page_action</code> and <code>chrome.pageAction</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>icons</code> property of <code>page_action</code> has been |
+ removed. Use <a href="pageAction.html#manifest"> |
+ the <code>default_icon</code> property |
+ </a> or <a href="pageAction.html#method-setIcon"> |
+ <code>chrome.pageAction.setIcon</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>name</code> property of <code>page_action</code> has been |
+ removed. Use <a href="pageAction.html#manifest"> |
+ the <code>default_title</code> property |
+ </a> or <a href="pageAction.html#method-setTitle"> |
+ <code>chrome.pageAction.setTitle</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>popup</code> property of <code>page_action</code> has been |
+ removed. Use <a href="pageAction.html#manifest"> |
+ the <code>default_popup</code> property |
+ </a> or <a href="pageAction.html#method-setPopup"> |
+ <code>chrome.pageAction.setPopup</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>default_popup</code> property of <code>page_action</code> |
+ can no longer be specified as an object. It must be a string. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ The <code>chrome.self</code> API has been removed. Use |
+ <a href="extension.html"><code>chrome.extension</code></a> instead. |
+ </p> |
+ </li> |
+ </ul> |
+ </li> |
+ <li> |
+ <p> |
+ <code>chrome.extension.getTabContentses</code> (!!!) and |
+ <code>chrome.extension.getExtensionTabs</code> are gone. Use |
+ <a href="extension.html#method-getViews"> |
+ <code>chrome.extension.getViews({ "type": "tab" })</code> |
+ </a> instead. |
+ </p> |
+ </li> |
+ <li> |
+ <p> |
+ <code>Port.tab</code> is gone. Use |
+ <a href="extension.html#type-extension.Port"><code>Port.sender</code></a> |
+ instead. |
+ </p> |
+ </li> |
+</ul> |