blob: 1d2e8b9581833e8f991577a88b111904e5704c95 [file] [log] [blame]
<h1 class="page_title">Chrome Platform APIs</h1>
{{?is_apps}}
<p class="doc-family apps">
Chrome provides many special-purpose APIs like
<code>chrome.runtime</code> and <code>chrome.alarms</code>
to Chrome Apps.
</p>
{{:is_apps}}
<p class="doc-family extensions">
Chrome provides APIs such as
<code>chrome.bookmarks</code> and <code>chrome.tab</code>
so that extensions can interact with the browser.
</p>
{{/is_apps}}
<h2 id="supported">Supported APIs</h2>
<p>
Here are the supported chrome.* APIs:
</p>
<ul>
{{?is_apps}}
{{#api_list.apps.chrome}}
<li><a href="{{name}}.html">{{name}}</a></li>
{{/api_list.apps.chrome}}
{{:is_apps}}
{{#api_list.extensions.chrome}}
<li><a href="{{name}}.html">{{name}}</a></li>
{{/api_list.extensions.chrome}}
{{/is_apps}}
</ul>
<h2 id="experimental">Experimental APIs</h2>
<p>
Chrome also has
<a href="experimental.html">experimental APIs</a>,
some of which will become supported APIs
in future releases of Chrome.
</p>
<h2 id="conventions">API conventions</h2>
<p>
Unless the doc says otherwise,
methods in the chrome.* APIs are <b>asynchronous</b>:
they return immediately,
without waiting for the operation to finish.
If you need to know the outcome of an operation,
then you pass a callback function into the method.
For more information, watch this video:
</p>
<p class="doc-family extensions">
<iframe title="YouTube video player" width="640" height="390" src="//www.youtube.com/embed/bmxr75CV36A?rel=0" frameborder="0" allowfullscreen></iframe>
</p>