Commit 561f5d09 authored by crystallambert@chromium.org's avatar crystallambert@chromium.org Committed by Commit Bot

[Extension API Documentation]Update to Permissions

List of permissions that can be optional was outated.
This CL updates and organized them.

Bug: 822371
Change-Id: Ie6ee5854b9ed5ca7636132a4e732abd15cb5d74b
Reviewed-on: https://chromium-review.googlesource.com/978967
Commit-Queue: Crystal Lambert <crystallambert@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549573}
parent d8312a43
...@@ -51,38 +51,121 @@ Advantages of <em>optional</em> permissions: ...@@ -51,38 +51,121 @@ Advantages of <em>optional</em> permissions:
} }
</pre> </pre>
<p>
You can specify any of the following as optional
<a href="declare_permissions">permissions</a>:
<ul>
<li><i>host permissions</i></li>
<li>background</li>
<li>bookmarks</li>
<li>clipboardRead</li>
<li>clipboardWrite</li>
<li>contentSettings</li>
<li>contextMenus</li>
<li>cookies</li>
<li>debugger</li>
<li>history</li>
<li>idle</li>
<li>management</li>
<li>notifications</li>
<li>pageCapture</li>
<li>tabs</li>
<li>topSites</li>
<li>webNavigation</li>
<li>webRequest</li>
<li>webRequestBlocking</li>
</ul>
</p>
<p>If you want to request hosts that you only discover at runtime, include <p>If you want to request hosts that you only discover at runtime, include
<code>"http://*/"</code> and/or <code>"https://*/"</code> as an <code>"http://*/"</code> and/or <code>"https://*/"</code> as an
<code>optional_permission</code>. This lets you specify any origin in <code>optional_permission</code>. This lets you specify any origin in
$(ref:Permissions.origins) as long as it has a matching scheme. $(ref:Permissions.origins) as long as it has a matching scheme.
</p> </p>
<strong>Permissions that can <i>not</i> be specified as optional</strong>
<p>
Most Chrome extension permissions can be specified as optional,
with the following exceptions.
</p>
<table>
<tr>
<th>Permission</th>
<th>Description</th>
</tr>
<tr id="debugger">
<td>
<code>"debugger"</code>
</td>
<td>
The <a href="debugger">chrome.debugger</a> API serves as an alternate
transport for Chrome's
<a href="https://developer.chrome.com/devtools/docs/debugger-protocol">
remote debugging protocol
</a>.
</tr>
<tr id="devtools">
<td>
<code>"devtools"</code>
</td>
<td>
Allows extension to expand
<a href="devtools">Chrome DevTools</a> functionality.
</td>
</tr>
<tr id="experimental">
<td>
<code>"experimental"</code>
</td>
<td>
<strong><a href="http://tools.google.com/dlpage/chromesxs">Canary</a>
and
<a href="http://www.chromium.org/getting-involved/dev-channel">
Dev channel</a>
only.</strong>
Grants the extension access to
<a href="experimental">chrome.experimental</a> APIs.
</td>
</tr>
<tr id="geolocation">
<td>
<code>"geolocation"</code>
</td>
<td>
Allows the extension to use the HTML5
<a href="https://w3c.github.io/geolocation-api/">geolocation</a> API.
</td>
</tr>
<tr id="mdns">
<td>
<code>"mdns"</code>
</td>
<td>
Grants the extension access to the
<a href="mdns">chrome.mdns</a> API.
</td>
</tr>
<tr id="proxy">
<td>
<code>"proxy"</code>
</td>
<td>
Grants the extension access to the
<a href="mdns">chrome.proxy</a> API
to manage Chrome's proxy settings.
</td>
</tr>
<tr id="tts">
<td>
<code>"tts"</code>
</td>
<td>
The <a href="tts">chrome.tts</a> API plays
synthesized text-to-speech (TTS).
</td>
</tr>
<tr id="ttsEngine">
<td>
<code>"ttsEngine"</code>
</td>
<td>
The <a href="ttsEngine">chrome.ttsEngine</a> API
implements a text-to-speech(TTS) engine using an extension.
</td>
</tr>
<tr id="wallpaper">
<td>
<code>"wallpaper"</code>
</td>
<td>
<strong>ChromeOS only</strong>.
Use the <a href="ttsEngine">chrome.wallpaper</a> API
change the ChromeOS wallpaper.
</td>
</tr>
</table>
<p>
View <a href="permission_warnings">Declare Permissions and Warn Users</a>
for further information on available permissions and their warnings.
</p>
<h3 id="request"> Step 3: Request optional permissions </h3> <h3 id="request"> Step 3: Request optional permissions </h3>
<p> <p>
Request the permissions from within a user gesture using Request the permissions from within a user gesture using
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment