1 <div id="pageData-name" class="pageData">What's New in Extensions?</div> 2 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> 3 4 <p> 5 This page lists the API and manifest changes 6 made in recent releases. 7 </p> 8 9 <ul> 10 <li> <a href="#12">Google Chrome 12</a> </li> 11 <li> <a href="#11">Google Chrome 11</a> </li> 12 <li> <a href="#10">Google Chrome 10</a> </li> 13 <li> <a href="#9">Google Chrome 9</a> </li> 14 <li> <a href="#8">Google Chrome 8</a> </li> 15 <li> <a href="#7">Google Chrome 7</a> </li> 16 <li> <a href="#6">Google Chrome 6</a> </li> 17 </ul> 18 19 20 <h2 id="12"> Google Chrome 12 </h2> 21 22 <h4> Additions to existing APIs </h4> 23 <ul> 24 <li> Two new <code>chrome.extension</code> 25 methods—<a href="extension.html#method-isAllowedFileSchemeAccess">isAllowedFileSchemeAccess()</a> and 26 <a href="extension.html#method-isAllowedIncognitoAccess">isAllowedIncognitoAccess()</a>—let you 27 determine whether your extension has increased access, 28 which the user specifies using the extensions management page 29 (<b>chrome://extensions</b>). 30 </li> 31 <li> The <a href="windows.html#method-create">chrome.windows.create()</a> 32 method can now take a <code>focused</code> value. 33 Previously, all new windows had the keyboard focus; 34 now you can create windows without interrupting the user's typing. 35 </li> 36 <li> If the manifest specifies "experimental" permission, 37 your extension can specify "panel" as the value of 38 the <code>type</code> field in 39 the <a href="windows.html#method-create">chrome.windows.create()</a> 40 method 41 or the <a href="windows.html#type-Window">Window</a> type. 42 </li> 43 <li> The <a href="cookies.html#event-onChanged">onChanged</a> 44 event of <code>chrome.cookies</code> 45 now has a <code>cause</code> parameter. </li> 46 <li> The <code>chrome.contextMenus</code> 47 <a href="contextMenus.html#method-create">create()</a> and 48 <a href="contextMenus.html#method-update">update()</a> 49 methods now let you specify a context value of "frame". 50 </ul> 51 52 <h2 id="11"> Google Chrome 11 </h2> 53 54 <h4> Changes to existing APIs </h4> 55 <ul> 56 <li> 57 For security reasons, you can no longer call 58 <a href="tabs.html#method-captureVisibleTab">chrome.tab.captureVisibleTab()</a> 59 on just any tab. 60 Instead, you now must have 61 <a href="manifest.html#permissions">host permission</a> 62 for the URL displayed by that tab. 63 To get the previous behavior, 64 specify <code><all_urls></code> for the host permission. 65 </li> 66 </ul> 67 68 <h4> Additions to existing APIs </h4> 69 <ul> 70 <li> 71 The management API's 72 <a href="management.html#type-ExtensionInfo">ExtensionInfo</a> object 73 now has a <code>homepageUrl</code> property. 74 </li> 75 <li> The management API now lets you get the icons of 76 disabled apps and extensions. 77 Also, you can now modify the regular icon's URL 78 to get its disabled equivalent. 79 See <a href="management.html#type-IconInfo">IconInfo</a> for details. 80 </li> 81 <li> The cookies API 82 <a href="cookies.html#method-set">set()</a> 83 and <a href="cookies.html#method-remove">remove()</a> methods 84 can now take callbacks. 85 </li> 86 </ul> 87 88 <h2 id="10"> Google Chrome 10 </h2> 89 90 <h4> Manifest changes </h4> 91 <ul> 92 <li>The new <a href="manifest.html#bg">background</a> permission 93 extends the life of Chrome, 94 allowing your extension or app 95 to run even when Chrome has no windows open. 96 </li> 97 </ul> 98 99 <h4> Additions to existing APIs </h4> 100 <ul> 101 <li> The <a href="windows.html#method-create">chrome.windows.create()</a> 102 method now has a <code>tabId</code> field. 103 You can use it to move a tab or panel into a new window. 104 <p class="note"> 105 <b>Note:</b> 106 This change was incorrectly attributed to Chrome 9 107 in previous release notes. 108 </li> 109 </ul> 110 111 <h2 id="9"> Google Chrome 9 </h2> 112 113 <h4> New APIs </h4> 114 <ul> 115 <li>The <a href="omnibox.html">omnibox API</a> allows you to 116 register a keyword with Chrome's address bar. </li> 117 </ul> 118 119 <h4> Manifest changes </h4> 120 <ul> 121 <li> The <a href="manifest.html#homepage_url">homepage_url</a> field 122 lets you specify the extension or app's homepage. </li> 123 </ul> 124 125 <h4> Additions to existing APIs </h4> 126 <ul> 127 <li> The <a href="tabs.html#type-Tab">Tab</a> object 128 now has a <code>pinned</code> property 129 that's reflected in various <code>chrome.tabs</code> methods. 130 For example, 131 you can <a href="tabs.html#method-create">create</a> 132 a pinned tab. </li> 133 <li> The <a href="windows.html#method-create">chrome.windows.create()</a> 134 method can now take a list of URLs, 135 letting you create multiple tabs in the new window. </li> 136 <li> The new 137 <a href="management.html#method-get">chrome.management.get()</a> method 138 lets you get information about the specified extension or app. </li> 139 </ul> 140 141 142 <h2 id="8"> Google Chrome 8 </h2> 143 144 <p> 145 We took a break for Chrome 8. 146 No API or manifest changes worth noting. 147 </p> 148 149 150 <h2 id="7"> Google Chrome 7 </h2> 151 152 <h4> New APIs </h4> 153 <ul> 154 <li> All users can now install 155 <a href="http://code.google.com/chrome/apps/index.html">apps</a>; 156 packaged apps can use extension APIs. 157 </li> 158 <li> The <a href="management.html">management API</a> 159 lets you work with installed apps and extensions. 160 </li> 161 </ul> 162 163 <h4> Manifest changes </h4> 164 <ul> 165 <li> Introduced <a href="manifest.html#incognito">split incognito</a> 166 mode as the default for installable web apps 167 (also available to extensions). 168 </li> 169 <li> The <a href="tabs.html">tabs API</a> 170 <code>create()</code> and <code>update()</code> methods 171 no longer require the "tabs" permission, removing one common cause of 172 <a href="permission_warnings.html">scary dialogs</a>. 173 </li> 174 </ul> 175 176 177 <h2 id="6">Google Chrome 6</h2> 178 179 <h4> New APIs </h4> 180 <ul> 181 <li>The <a href="contextMenus.html">context menus API</a> allows you to 182 add context menus to pages or specific objects on a page. </li> 183 <li>The <a href="cookies.html">cookies API</a> allows you to manage the 184 browser's cookie system. </li> 185 <li>The <a href="idle.html">idle API</a> allows you to detect when the 186 machine's idle state changes. </li> 187 </ul> 188 189 <h4> Additions to existing APIs </h4> 190 <ul> 191 <li>The <a 192 href="extension.html#method-getViews">chrome.extension.getViews()</a> 193 method can now return popup views. </li> 194 <li>A new <a 195 href="windows.html#property-WINDOW_ID_NONE">WINDOW_ID_NONE</a> constant 196 identifies when focus shifts away from the browser. </li> 197 <li>The new <a 198 href="tabs.html#method-getCurrent">chrome.tabs.getCurrent()</a> method 199 returns the tab associated with the currently executing script. </li> 200 </ul> 201 202 <h4> Manifest changes </h4> 203 <ul> 204 <li>The <a href="manifest.html#geolocation">geolocation</a> permission 205 gives an extension access to the user's physical location. </li> 206 <li><a href="match_patterns.html">Match patterns</a> can now select all 207 schemes or all URLs. </li> 208 <li>Access to file:/// URLs no longer triggers the "access to your machine" 209 security warning, but now requires user opt-in from the extensions 210 management page. </li> 211 </ul> 212 213