| Index: chrome/common/extensions/docs/server2/templates/intros/permissions.html
|
| diff --git a/chrome/common/extensions/docs/server2/templates/intros/permissions.html b/chrome/common/extensions/docs/server2/templates/intros/permissions.html
|
| index 37ba76efc97d6ac62cc5dda454377c1243721bc0..ddc1b479f63ba9cf8f81aa4347fc769399d09f22 100644
|
| --- a/chrome/common/extensions/docs/server2/templates/intros/permissions.html
|
| +++ b/chrome/common/extensions/docs/server2/templates/intros/permissions.html
|
| @@ -1,4 +1,3 @@
|
| -<!-- BEGIN AUTHORED CONTENT -->
|
| <p id="classSummary">
|
| Use the <code>chrome.permissions</code> module to implement
|
| optional permissions. You can request optional permissions during your
|
| @@ -6,19 +5,24 @@
|
| understand why the permissions are needed and use only those that are
|
| necessary.
|
| </p>
|
| +
|
| <p>
|
| For general information about permissions and details about each permission,
|
| see the <a href="manifest.html#permissions">permissions</a> section of the
|
| manifest documentation.
|
| </p>
|
| +
|
| <h2 id="howto"> Implementing optional permissions </h2>
|
|
|
| -<h3 id="types"> Step 1: Decide which permissions are optional and required </h3>
|
| +<h3 id="types">
|
| + Step 1: Decide which permissions are optional and required
|
| +</h3>
|
| <p>
|
| Extensions should generally require permissions when they are needed for the
|
| extension's basic functionality and employ optional permissions for optional
|
| features.
|
| </p>
|
| +
|
| <p>
|
| Advantages of optional permissions:
|
| <ul>
|
| @@ -35,6 +39,7 @@
|
| </li>
|
| </ul>
|
| </p>
|
| +
|
| <p>
|
| Advantages of required permissions:
|
| <ul>
|
| @@ -47,12 +52,15 @@
|
| </li>
|
| </ul>
|
| </p>
|
| +
|
| +
|
| <h3 id="manifest"> Step 2: Declare optional permissions in the manifest </h3>
|
| <p>
|
| Declare optional permissions in your <a href="manifest.html">extension
|
| manifest</a> with the <code>optional_permissions</code> key, using the
|
| same format as the <a href="manifest.html#permissions">permissions</a>
|
| field:
|
| +
|
| <pre>{
|
| "name": "My extension",
|
| ...
|
| @@ -60,6 +68,7 @@
|
| ...
|
| }</pre>
|
| </p>
|
| +
|
| <p>
|
| You can specify any of the following as optional permissions:
|
| <ul>
|
| @@ -85,10 +94,12 @@ You can specify any of the following as optional permissions:
|
| <li>webRequestBlocking</li>
|
| </ul>
|
| </p>
|
| +
|
| <p class="note">
|
| <b>Version note:</b> This list is correct as of Chrome 17.
|
| More optional permissions might be allowed in future releases.
|
| </p>
|
| +
|
| <h3 id="request"> Step 3: Request optional permissions </h3>
|
| <p>
|
| Request the permissions from within a user gesture using
|
| @@ -111,22 +122,26 @@ document.querySelector('#my-button').addEventListener('click', function(event) {
|
| });
|
| </pre>
|
| </p>
|
| +
|
| <p>
|
| Chrome prompts the user if adding the permissions results in different
|
| <a href="permission_warnings.html">warning messages</a> than the user has
|
| already seen and accepted. For example, the previous code might result in
|
| a prompt like this:
|
| </p>
|
| +
|
| <p style="text-align: center">
|
| <img src="{{static}}/images/perms-optional.png"
|
| alt="example permission confirmation prompt"
|
| width="416" height="234">
|
| </p>
|
| +
|
| <h3 id="contains"> Step 4: Check the extension's current permissions </h3>
|
| <p>
|
| To check whether your extension has a specific permission or set of
|
| permissions, use <code>permission.contains()</code>:
|
| </p>
|
| +
|
| <pre>
|
| chrome.permissions.contains({
|
| permissions: ['tabs'],
|
| @@ -139,6 +154,7 @@ chrome.permissions.contains({
|
| }
|
| });
|
| </pre>
|
| +
|
| <h3 id="remove"> Step 5: Remove the permissions </h3>
|
| <p>
|
| You should remove permissions when you no longer need them.
|
| @@ -146,6 +162,7 @@ chrome.permissions.contains({
|
| <code>permissions.request()</code> usually adds the permission back without
|
| prompting the user.
|
| </p>
|
| +
|
| <pre>
|
| chrome.permissions.remove({
|
| permissions: ['tabs'],
|
| @@ -158,5 +175,4 @@ chrome.permissions.remove({
|
| // required permissions).
|
| }
|
| });
|
| -</pre>
|
| -<!-- END AUTHORED CONTENT -->
|
| +</pre>
|
|
|