• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
5This page lists the API and manifest changes
6made 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&mdash;<a href="extension.html#method-isAllowedFileSchemeAccess">isAllowedFileSchemeAccess()</a> and
26      <a href="extension.html#method-isAllowedIncognitoAccess">isAllowedIncognitoAccess()</a>&mdash;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>&lt;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>
145We took a break for Chrome 8.
146No 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