OLD | NEW |
(Empty) | |
| 1 <h1 class="page_title">Manifest Version</h1> |
| 2 <style type="text/css"> |
| 3 #schedule h3 { |
| 4 margin-bottom:0; |
| 5 } |
| 6 #schedule p { |
| 7 margin-top:0; |
| 8 margin-bottom:1em; |
| 9 } |
| 10 </style> |
| 11 <p> |
| 12 Extensions, themes, and applications are simply bundles of resources, wrapped |
| 13 up with a <a href="manifest.html"><code>manifest.json</code></a> file that |
| 14 describes the package's contents. The format of this file is generally stable, |
| 15 but occasionally breaking changes must be made to address important issues. |
| 16 Developers should specify which version of the manifest specification their |
| 17 package targets by setting a <code>manifest_version</code> key in their |
| 18 manifests. |
| 19 </p> |
| 20 <h2>Current Version</h2> |
| 21 <p> |
| 22 Developers should currently specify |
| 23 <strong><code>'manifest_version': 2</code></strong>: |
| 24 </p> |
| 25 <pre>{ |
| 26 ..., |
| 27 "manifest_version": 2, |
| 28 ... |
| 29 }</pre> |
| 30 <p> |
| 31 Manifest version 1 was <em>deprecated</em> in Chrome 18, and support will |
| 32 be phased out according to the following schedule. |
| 33 </p> |
| 34 <h2>Manifest version 1 support schedule</h2> |
| 35 <div id="schedule"> |
| 36 <h3>Chrome 21</h3> |
| 37 <p><em>Beta: Early July 2012; |
| 38 Stable: Mid-August 2012</em></p> |
| 39 <ul> |
| 40 <li>The Web Store will block creation of new manifest version 1 items. |
| 41 <li>The Web Store will allow updates to existing manifest version 1 items. |
| 42 </ul> |
| 43 <h3>Chrome 23</h3> |
| 44 <p><em>Beta: Late September 2012; |
| 45 Stable: Early November 2012</em></p> |
| 46 <ul> |
| 47 <li>The Web Store will block updates to manifest version 1 items. |
| 48 <li>Chrome will stop packaging manifest version 1 items (or loading |
| 49 them for development). |
| 50 </ul> |
| 51 <h3>First Quarter 2013</h3> |
| 52 <ul> |
| 53 <li>The Web Store will remove manifest version 1 items from the wall, |
| 54 search results, and category pages. |
| 55 <li>Notice emails will be sent to all developers with manifest |
| 56 version 1 items still in the store reminding them that these |
| 57 items will be unpublished and providing update instructions. |
| 58 </ul> |
| 59 <h3>Second Quarter 2013</h3> |
| 60 <ul> |
| 61 <li>The Web Store will unpublish all manifest version 1 items. |
| 62 <li>Final notice emails will be sent to developers with manifest |
| 63 version 1 items still in the Web Store. |
| 64 <li>Chrome will continue to load and run installed manifest |
| 65 version 1 items. |
| 66 </ul> |
| 67 <h3>Third Quarter 2013</h3> |
| 68 <ul> |
| 69 <li>Chrome will stop loading or running manifest |
| 70 version 1 items. |
| 71 </ul> |
| 72 </div> |
| 73 <h2>Changes between version 1 and 2</h2> |
| 74 <ul> |
| 75 <li> |
| 76 <p> |
| 77 A content security policy is set to <code>`script-src 'self'; object-src |
| 78 'self'</code> by default. This has a variety of impacts on developers, |
| 79 described at length in the <a href="contentSecurityPolicy.html"> |
| 80 <code>content_security_policy</code></a> documentation. |
| 81 </p> |
| 82 </li> |
| 83 <li> |
| 84 <p> |
| 85 A package's resources are no longer available by default to external |
| 86 websites (as the <code>src</code> of an image, or a <code>script</code> |
| 87 tag). If you want a website to be able to load a resource contained in |
| 88 your package, you'll need to explicitly whitelist it via the |
| 89 <a href="manifest.html#web_accessible_resources"> |
| 90 <code>web_accessible_resources</code> |
| 91 </a> manifest attribute. This is particularly relevant for extensions that |
| 92 build up an interface on a website via injected content scripts. |
| 93 </p> |
| 94 </li> |
| 95 <li> |
| 96 <p> |
| 97 The <code>background_page</code> property has been replaced with a |
| 98 <code>background</code> property that contains <em>either</em> a |
| 99 <code>scripts</code> or <code>page</code> property. Details are available |
| 100 in the <a href="background_pages.html">Background Pages</a> documentation. |
| 101 </p> |
| 102 </li> |
| 103 <li> |
| 104 <p>Browser action changes:</p> |
| 105 <ul> |
| 106 <li> |
| 107 <p> |
| 108 The <code>browser_actions</code> key in the manifest, and the |
| 109 <code>chrome.browserActions</code> API are gone. Use the singular |
| 110 <a href="browserAction.html"> |
| 111 <code>browser_action</code> and <code>chrome.browserAction</code> |
| 112 </a> instead. |
| 113 </p> |
| 114 </li> |
| 115 <li> |
| 116 <p> |
| 117 The <code>icons</code> property of <code>browser_action</code> has |
| 118 been removed. Use <a href="browserAction.html#manifest"> |
| 119 the <code>default_icon</code> property |
| 120 </a> or <a href="browserAction.html#method-setIcon"> |
| 121 <code>chrome.browserAction.setIcon</code> |
| 122 </a> instead. |
| 123 </p> |
| 124 </li> |
| 125 <li> |
| 126 <p> |
| 127 The <code>name</code> property of <code>browser_action</code> has been |
| 128 removed. Use <a href="browserAction.html#manifest"> |
| 129 the <code>default_title</code> property |
| 130 </a> or <a href="browserAction.html#method-setTitle"> |
| 131 <code>chrome.browserAction.setTitle</code> |
| 132 </a> instead. |
| 133 </p> |
| 134 </li> |
| 135 <li> |
| 136 <p> |
| 137 The <code>popup</code> property of <code>browser_action</code> has |
| 138 been removed. Use <a href="browserAction.html#manifest"> |
| 139 the <code>default_popup</code> property |
| 140 </a> or <a href="browserAction.html#method-setPopup"> |
| 141 <code>chrome.browserAction.setPopup</code> |
| 142 </a> instead. |
| 143 </p> |
| 144 </li> |
| 145 <li> |
| 146 <p> |
| 147 The <code>default_popup</code> property of <code>browser_action</code> |
| 148 can no longer be specified as an object. It must be a string. |
| 149 </p> |
| 150 </li> |
| 151 </ul> |
| 152 </li> |
| 153 <li> |
| 154 <p>Page action changes:</p> |
| 155 <ul> |
| 156 <li> |
| 157 <p> |
| 158 The <code>page_actions</code> key in the manifest, and the |
| 159 <code>chrome.pageActions</code> API are gone. Use the singular |
| 160 <a href="pageAction.html"> |
| 161 <code>page_action</code> and <code>chrome.pageAction</code> |
| 162 </a> instead. |
| 163 </p> |
| 164 </li> |
| 165 <li> |
| 166 <p> |
| 167 The <code>icons</code> property of <code>page_action</code> has been |
| 168 removed. Use <a href="pageAction.html#manifest"> |
| 169 the <code>default_icon</code> property |
| 170 </a> or <a href="pageAction.html#method-setIcon"> |
| 171 <code>chrome.pageAction.setIcon</code> |
| 172 </a> instead. |
| 173 </p> |
| 174 </li> |
| 175 <li> |
| 176 <p> |
| 177 The <code>name</code> property of <code>page_action</code> has been |
| 178 removed. Use <a href="pageAction.html#manifest"> |
| 179 the <code>default_title</code> property |
| 180 </a> or <a href="pageAction.html#method-setTitle"> |
| 181 <code>chrome.pageAction.setTitle</code> |
| 182 </a> instead. |
| 183 </p> |
| 184 </li> |
| 185 <li> |
| 186 <p> |
| 187 The <code>popup</code> property of <code>page_action</code> has been |
| 188 removed. Use <a href="pageAction.html#manifest"> |
| 189 the <code>default_popup</code> property |
| 190 </a> or <a href="pageAction.html#method-setPopup"> |
| 191 <code>chrome.pageAction.setPopup</code> |
| 192 </a> instead. |
| 193 </p> |
| 194 </li> |
| 195 <li> |
| 196 <p> |
| 197 The <code>default_popup</code> property of <code>page_action</code> |
| 198 can no longer be specified as an object. It must be a string. |
| 199 </p> |
| 200 </li> |
| 201 <li> |
| 202 <p> |
| 203 The <code>chrome.self</code> API has been removed. Use |
| 204 <a href="extension.html"><code>chrome.extension</code></a> instead. |
| 205 </p> |
| 206 </li> |
| 207 </ul> |
| 208 </li> |
| 209 <li> |
| 210 <p> |
| 211 <code>chrome.extension.getTabContentses</code> (!!!) and |
| 212 <code>chrome.extension.getExtensionTabs</code> are gone. Use |
| 213 <a href="extension.html#method-getViews"> |
| 214 <code>chrome.extension.getViews({ "type": "tab" })</code> |
| 215 </a> instead. |
| 216 </p> |
| 217 </li> |
| 218 <li> |
| 219 <p> |
| 220 <code>Port.tab</code> is gone. Use |
| 221 <a href="extension.html#type-extension.Port"><code>Port.sender</code></a> |
| 222 instead. |
| 223 </p> |
| 224 </li> |
| 225 </ul> |
OLD | NEW |