Home | History | Annotate | Download | only in static
      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&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>
    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