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