diff options
author | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-08 22:28:04 +0000 |
---|---|---|
committer | cduvall@chromium.org <cduvall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-08 22:28:04 +0000 |
commit | 7fb52118c8cde6963c6e727e60abe4c37bb502a7 (patch) | |
tree | d2a5bc3b600554ec749799c4096c2aebcbbf1868 | |
parent | 7aebad368e2441bc25114370d6f59c37aa3bfc71 (diff) | |
download | chromium_src-7fb52118c8cde6963c6e727e60abe4c37bb502a7.zip chromium_src-7fb52118c8cde6963c6e727e60abe4c37bb502a7.tar.gz chromium_src-7fb52118c8cde6963c6e727e60abe4c37bb502a7.tar.bz2 |
Revert 160710 - Improvements to permissions and permission warnings docs:
* Created new file for permission content that previously was nested
in manifest file. Filtered apps and extensions content.
* Added topSites (extensions-only) permission to permissions and permission warnings docs. Also added fileSystem permission (apps-only).
* Previous versions of this cl had fixes to table rendering; I've removed the table fixes as I was getting merge conflicts. Also, Kalman is resolving these in a separate cl and makes sense to handle the table fixes there.
Review URL: https://codereview.chromium.org/10964056
TBR=mkearney@google.com
Review URL: https://codereview.chromium.org/11098006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160726 0039d316-1c4b-4281-b951-d872f2087c98
10 files changed, 733 insertions, 333 deletions
diff --git a/chrome/common/extensions/docs/static/css/site.css b/chrome/common/extensions/docs/static/css/site.css new file mode 100644 index 0000000..eeba6aa --- /dev/null +++ b/chrome/common/extensions/docs/static/css/site.css @@ -0,0 +1,456 @@ +/* Copyright (c) 2012 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +.hidden { + display: none; +} + +body { + color: #333; + font: 13px/22px 'Open Sans',arial,sans-serif; + font-weight: 400; + background-color: white; + margin: auto; + padding: 0; +} + +p { + margin: 1em 0 0 0; + color: #767676; + font-size: 14px; +} + +p.note, +p.caution, +p.warning { + margin: 1em 0 0 0; + padding: .2em .5em .2em .9em; + background-color: #F5F5F5; + border-top: 1px solid; + border-bottom: 1px solid; + overflow: hidden; +} + +p.note { + border-color: #36C; +} +p.caution { + border-color: #FC3; +} +p.warning { + border-color: #A03; +} + +p.warning em, +p.warning strong { + color: #A03; +} + +a, a:link { + text-decoration: none; + color: #39F; + font-weight: 600; +} + +a:visited { + color: #236bb2; +} + +a:active, +a:hover { + color: #3bf; +} + +#toc a { + color: black; +} + +ol, ul { + color: #767676; +} + +#header { + margin: auto; + max-width: 1160px; + padding: 0 50px; + position: relative; + height: 60px; +} + +#logo { + position: relative; + padding-top: 10px; + z-index: 2; +} + +#logo img { + padding: 10px 0; +} + +#cse { + width: 400px; + padding-top: 5px; + z-index: 1; + position: absolute; + right: 50px; +} + +/* + * Without a border, the results from the custom search are hard to tell apart + * from the rest of the content + */ +.gsc-resultsbox-visible { + border-left: 1px solid #E9E9E9; + border-right: 1px solid #E9E9E9; + border-bottom: 1px solid #E9E9E9; +} + +li { + margin: .3em 0 0 1.5em; + padding: 0; +} + +ol li { + margin-top: 1em; +} + +img { + border: none; + padding: 10px 0; +} + +code, +pre { + font-family: monospace; + color: #080; +} + +code { + font-size: 10pt; +} + +pre { + font-size: 10pt; + background-color: #F5F5F5; + margin: 1em 0 0 0; + padding: .99em; + overflow: auto; + word-wrap: break-word; +} + +pre a { + text-decoration: underline!important; +} + +pre b { + background: yellow; +} + +dt { + font-weight: bold; + margin: .75em 0 0 0; +} + +dl { + margin: 0; +} + +dd { + margin: .4em 0 0 2em; + padding: 0; + font-weight: normal; +} + +.displayModeWarning { + background-color: #FF7735; + color: white; + font-weight: bold; + padding: 6px 8px; +} + +span.displayModeWarning { + margin-right: 2px; +} + +#gc-container { + margin: auto; + max-width: 1160px; + padding: 0 50px; + position: relative; + height: auto; +} + +#gc-topnav { + font-size: 1em; + margin: auto; + max-width: 1160px; + padding: 0; + white-space: nowrap; + background-color: white; + border-top: 1px solid #E5E5E5; + border-bottom: 1px solid #E5E5E5; +} + +#gc-topnav h1 { + font-size: 1.5em; + line-height: 1.3em; + font-weight: bold; + background-color: transparent; + border: 0; + margin: 0; + padding: 0 0 0 14px; + float: left; + border-top: 10px solid white; +} + +#gc-topnav li { + font-weight: 600; + height: 45px; + text-transform: uppercase; + white-space: nowrap; + display: inline-block; + margin: 0; + padding: 0; +} + +#gc-topnav ul { + font-size: 12px; + height: 45px; + text-align: right; + list-style: none; + margin: 0; +} + +#gc-topnav li a { + color: #333; +} +#gc-topnav li a:hover { + color: #39f; +} + +#gc-topnav div { + border-top: 10px solid white; + margin: 0 30px; + position: relative; + height: 29px; +} + +.pageData { + display: none; +} + +#gc-pagecontent { + margin: 30px 0 100px 250px; +} + +#gc-pagecontent h2 { + border-top: 1px solid #CCC; + font-size: 170%; + font-weight: normal; + margin: 2em 0 0 0; + padding: 40px 0; +} + +#gc-pagecontent h3 { + font-size: 130%; + font-weight: bold; + margin: 1.5em 0 0 0; + top: 0em; +} + +#gc-pagecontent h4 { + font-size: 110%; + margin: .7em 0 0 0; + position: relative; + top: .4em; +} + +#gc-pagecontent h1.page_title, +#gc-pagecontent h2.page_title { + line-height: 130%; + font-size: 320%; + margin: 0; + padding: .8em 0 0; + border: none; + background: none; + font-weight: normal; +} + +#gc-footer { + clear: both; + margin: auto; + color: #666; + max-width: 1160px; + padding: 0 50px; +} + +#gc-footer .text { + text-align: center; + padding: 30px 0; + margin: 0 0 0 0; +} + +#gc-sidebar { + margin: 0; + margin-top: 2.5em; + width: 180px; + float: left; +} + +/* Sidebar link/button styling. */ +#gc-sidebar span, +#gc-sidebar a { + color: #767676; + display: block; + position: relative; + font-weight: normal; +} +#gc-sidebar a:visited { + color: #767676; +} +#gc-sidebar a:hover, +#gc-sidebar a.selected { + color: #39F; +} +#gc-sidebar a.button { + color: #767676; +} +#gc-sidebar span.level2, +#gc-sidebar a.level2 { + font-weight: bold; +} + +#gc-sidebar .toggleIndicator { + position: absolute; + right: 0; + top: 3px; + background: url(../images/toggle_sprite.png) no-repeat 0 0; + height: 8px; + width: 8px; +} +#gc-sidebar .toggleIndicator.toggled { + background-position: 0 -9px; +} + +/* Sidebar list styling. */ +#gc-sidebar ul { + list-style: none; + padding: 0; +} +#gc-sidebar ul.level2 { + margin-left: 10px; + padding-top: 10px; +} +#gc-sidebar ul.level3 { + margin-left: 20px; + padding-top: 10px; + list-style: url(../images/sidearrow.png); +} + +/* Sidebar list element styling. */ +#gc-sidebar li { + margin: 0; + padding: 8px 0; + line-height: 120%; +} +#gc-sidebar li.level2 { + border-top: 1px solid #E5E5E5; +} + +#gc-toc div.line { + border-top: thin solid #FAFAFA; + height: 1px; + margin: 1.3em 1em 0 0; + padding: 0; +} + +#toc { + background-color: #F5F5F5; + float: right; + margin: 5px 0px 0px 0px; + padding: 5px; + width: 250px; + word-break: break-word; + /* We want this element to have a visual left-margin of 20px, but margins on + floated elements don't affect the borders and background of the elements + they float over. So we add this border to force the issue. */ + border-left: 20px solid white; + border-bottom: 20px solid white; + z-index: 3; + position: relative; +} + +#toc * { + padding: 0; + list-style: none; + font-weight: 600; +} + +#toc h2 { + font-weight: bold; + font-size: 100%; + margin: 0; + border: none; + padding: 0; +} + +#toc ol { + margin: 1em 0 0 0; +} + +#toc ol li { + margin: .5em 0 .5em 1em; + line-height: 1.2em; +} + +#toc ol li ol { + margin: 0; +} + +#toc ol li ol li { + margin: .5em 0 .5em 1em; +} + +.filtered_item { + line-height: 6px; +} + +#filtered_apis { + margin-top: 5px; +} + +#skipto { + display: none; +} + +input.gsc-search-button.gsc-search-button-v2 { + padding: 8px 30px; + margin-top: 5px; +} + +div.gsc-control-cse { + margin: 0; + padding: 0; + position: relative; + z-index: 2; +} + +td.gsc-input { + padding: 0 0; +} + +div.gsc-input-box { + height: 30px; + width: 250px; + float: right; +} + +#known_issues { + background: #F5F5F5; + padding-top: 1px; + padding-bottom: 16px; + padding-right: 16px; + padding-left: 16px; +} diff --git a/chrome/common/extensions/docs/templates/articles/declare_permissions.html b/chrome/common/extensions/docs/templates/articles/declare_permissions.html deleted file mode 100644 index 92c3ef9..0000000 --- a/chrome/common/extensions/docs/templates/articles/declare_permissions.html +++ /dev/null @@ -1,306 +0,0 @@ -<h1>Declare Permissions</h1> - -<p> -To use most chrome.* APIs, -your extension or app must declare its intent in the -"permissions" field of the -<a href="manifest.html">manifest</a>. -Each permission can be either one of a list of known strings -(such as "geolocation") -or a <a href="match_patterns.html">match pattern</a> -that gives access to one or more hosts. -Permissions help to limit damage -if your extension or app is compromised by malware. -Some permissions are also displayed to users before installation, -as detailed in -<a href="permission_warnings.html">Permission Warnings</a>. -</p> - -<p> -If an API requires you to declare a permission in the manifest, -then its documentation tells you how to do so. -For example, -the <a href="storage.html">Storage</a> page -shows you how to -declare the "storage" permission. -</p> - -<p> -Here's an example of the permissions part of a manifest file: -</p> - -{{^is_apps}} -<pre> -"permissions": [ - "tabs", - "bookmarks", - "http://www.blogger.com/", - "http://*.google.com/", - "unlimitedStorage" -], -</pre> -{{/is_apps}} - -{{?is_apps}} -<pre> -"permissions": [ - "serial", - "storage", - "videoCapture" -], -</pre> -{{/is_apps}} - -<p> -The following table lists the currently available permissions: -</p> - -{{?is_apps}} -<p class="note"> -<strong>Note:</strong> -Hosted apps can use the -"background", "clipboardRead", "clipboardWrite", "geolocation", "notifications", -and "unlimitedStorage" permissions, but not any other permissions listed in this -table. -</p> -{{/is_apps}} - -<table> -<tr> - <th> Permission </th> <th> Description </th> -</tr> -<tr> - <td> <em>match pattern</em> </td> - <td> Specifies a <em>host permission</em>. - Required if the extension or app wants to interact - with the code running on pages. - Many capabilities, such as - <a href="xhr.html">cross-origin XMLHttpRequests</a>, - <a href="content_scripts.html#pi">programmatically injected - content scripts</a>, and - <a href="cookies.html">the extension's cookies API</a> - require host permissions. For details on the syntax, see - <a href="match_patterns.html">Match Patterns</a>. - </td> -</tr> -{{^is_apps}} -<tr> - <td> "activeTab" </td> - <td> Requests that the extension be granted permissions according to the - <a href="activeTab.html">activeTab</a> specification. - </td> -</tr> -{{/is_apps}} -<tr id="bg"> - <td> "background" </td> - <td> <p> - Makes Chrome start up early and and shut down late, - so that apps and extensions can have a longer life. - </p> - - <p> - When any installed hosted app, packaged app, or extension - has "background" permission, Chrome runs (invisibly) - as soon as the user logs into their computer—before - the user launches Chrome. - The "background" permission also makes Chrome continue running - (even after its last window is closed) - until the user explicitly quits Chrome. - </p> - - <p class="note"> - <b>Note:</b> - Disabled apps and extensions - are treated as if they aren't installed. - </p> - - <p> - You typically use the "background" permission with a - <a href="background_pages.html">background page</a>, - <a href="event_pages.html">event page</a> - or (for hosted apps) a - <a href="http://code.google.com/chrome/apps/docs/background.html">background window</a>. - </p> - </td> -</tr> -{{^is_apps}} -<tr> - <td> "bookmarks" </td> - <td> Required if the extension uses the - <a href="bookmarks.html">chrome.bookmarks</a> module. </td> -</tr> -<tr> - <td> "chrome://favicon/" </td> - <td> Required if the extension uses the - "chrome://favicon/<em>url</em>" mechanism - to display the favicon of a page. - For example, to display the favicon of http://www.google.com/, - you declare the "chrome://favicon/" permission - and use HTML code like this: - <pre><img src="chrome://favicon/http://www.google.com/"></pre> - </td> -</tr> -{{/is_apps}} -<tr> - <td> "clipboardRead" </td> - <td> Required if the extension or app uses - <code>document.execCommand('paste')</code>. </td> -</tr> -<tr> - <td> "clipboardWrite" </td> - <td> Indicates the extension or app uses - <code>document.execCommand('copy')</code> or - <code>document.execCommand('cut')</code>. This permission is <b>required - for hosted apps</b>; it's recommended for extensions and packaged apps. - </td> -</tr> -{{^is_apps}} -<tr> - <td> "contentSettings" </td> - <td> Required if the extension uses the - <a href="contentSettings.html">chrome.contentSettings</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "contextMenus" </td> - <td> Required if the extension or app uses the - <a href="contextMenus.html">chrome.contextMenus</a> module. </td> -</tr> -{{^is_apps}} -<tr> - <td> "cookies" </td> - <td> Required if the extension uses the - <a href="cookies.html">chrome.cookies</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "experimental" </td> - <td> Required if the extension or app uses any - <a href="http://code.google.com/chrome/extensions/dev/experimental.html">chrome.experimental.* APIs</a>.</td> -</tr> -{{^is_apps}} -<tr> - <td id="fileBrowserHandler"> "fileBrowserHandler" </td> - <td> Required if the extension uses the - <a href="fileBrowserHandler.html">fileBrowserhandler</a> module. </td> -</tr> -{{/is_apps}} -{{?is_apps}} -<tr> - <td id="fileSystem"> "fileSystem": ["write"] </td> - <td> Required if the app uses the - <a href="fileSystem.html">fileSystem API</a> to write files.</td> -</tr> -{{/is_apps}} -<tr> - <td id="geolocation"> "geolocation" </td> - <td> Allows the extension or app to use the proposed HTML5 - <a href="http://dev.w3.org/geo/api/spec-source.html">geolocation API</a> - without prompting the user for permission. </td> -</tr> -{{^is_apps}} -<tr> - <td> "history" </td> - <td> Required if the extension uses the - <a href="history.html">chrome.history</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "idle" </td> - <td> Required if the extension or app uses the - <a href="idle.html">chrome.idle</a> module. </td> -</tr> -{{^is_apps}} -<tr> - <td> "management" </td> - <td> Required if the extension uses the - <a href="management.html">chrome.management</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "notifications" </td> - <td> Allows the extension or app to use the proposed HTML5 - <a href="http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification">notification API</a> - without calling permission methods - (such as <code>checkPermission()</code>). - For more information see - <a href="notifications.html">Desktop Notifications</a>.</td> -</tr> -{{^is_apps}} -<tr> - <td> "privacy" </td> - <td> Required if the extension uses the - <a href="privacy.html">chrome.privacy</a> module. </td> -</tr> -<tr> - <td> "proxy" </td> - <td> Required if the extension uses the - <a href="proxy.html">chrome.proxy</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "storage" </td> - <td> Required if the extension or app uses the - <a href="storage.html">chrome.storage</a> module. </td> -</tr> -{{^is_apps}} -<tr> - <td> "tabs" </td> - <td> Required if the extension uses the - <a href="tabs.html">chrome.tabs</a> or - <a href="windows.html">chrome.windows</a> module. </td> -</tr> -<tr> - <td> "topSites" </td> - <td> Required if the extension uses the - <a href="topSites.html">chrome.topSites</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "tts" </td> - <td> Required if the extension or app uses the - <a href="tts.html">chrome.tts</a> module. </td> -</tr> -{{^is_apps}} -<tr> - <td> "ttsEngine" </td> - <td> Required if the extension uses the - <a href="ttsEngine.html">chrome.ttsEngine</a> module. </td> -</tr> -{{/is_apps}} -<tr> - <td> "unlimitedStorage"</td> - <td> Provides an unlimited quota for storing HTML5 client-side data, - such as databases and local storage files. - Without this permission, the extension or app is limited to - 5 MB of local storage. - - <p class="note"> - <b>Note:</b> - This permission applies only to Web SQL Database and application cache - (see issue <a href="http://crbug.com/58985">58985</a>). - Also, it doesn't currently work with wildcard subdomains such as - <code>http://*.example.com</code>. - </p> - </td> -<tr> -{{^is_apps}} -<tr> - <td> "webNavigation" </td> - <td> Required if the extension uses the - <a href="webNavigation.html">chrome.webNavigation</a> module. </td> -</tr> -<tr> - <td> "webRequest" </td> - <td> Required if the extension uses the - <a href="webRequest.html">chrome.webRequest</a> module. </td> -</tr> -<tr> - <td> "webRequestBlocking" </td> - <td> Required if the extension uses the - <a href="webRequest.html">chrome.webRequest</a> module in a blocking - fashion. </td> -</tr> -{{/is_apps}} -</tr> -</table>
\ No newline at end of file diff --git a/chrome/common/extensions/docs/templates/articles/manifest.html b/chrome/common/extensions/docs/templates/articles/manifest.html index 7228160..a19f7f4 100644 --- a/chrome/common/extensions/docs/templates/articles/manifest.html +++ b/chrome/common/extensions/docs/templates/articles/manifest.html @@ -52,7 +52,7 @@ are <b>name</b> and <b>version</b>. "<a href="#offline_enabled">offline_enabled</a>": true, "<a href="omnibox.html">omnibox</a>": { "keyword": "<em>aString</em>" }, "<a href="options.html">options_page</a>": "<em>aFile</em>.html", - "<a href="declare_permissions.html">permissions</a>": [...], + "<a href="#permissions">permissions</a>": [...], "<a href="npapi.html">plugins</a>": [...], "<a href="#requirements">requirements</a>": {...}, "<a href="autoupdate.html">update_url</a>": "http://<em>path/to/updateInfo</em>.xml", @@ -389,6 +389,270 @@ that it is offline, apps with this field set to true will be highlighted on the New Tab page. </p> +<h3 id="permissions">permissions</h3> + +<p> +An array of permissions that the extension or app might use. +Each permission can be either one of a list of known strings +(such as "geolocation") +or a match pattern +that gives access to one or more hosts. +Permissions can help to limit damage +if your extension or app is attacked. +Some permissions are also displayed to users before installation, +as detailed in +<a href="permission_warnings.html">Permission Warnings</a>. +</p> + +<p> +If an extension API requires you to declare a permission in the manifest, +then its documentation tells you how to do so. +For example, +the <a href="tabs.html">Tabs</a> page +shows you how to +declare the "tabs" permission. +</p> + +<p class="note"> +<b>Note:</b> +As of Chrome 16, some permissions can be optional. +For details, see +<a href="permissions.html">Optional Permissions</a>. +</p> + +<p> +Here's an example of the permissions part of a manifest file +for an extension: +</p> + +<pre> +"permissions": [ + "tabs", + "bookmarks", + "http://www.blogger.com/", + "http://*.google.com/", + "unlimitedStorage" +], +</pre> + +<p> +The following table lists the permissions an extension +or packaged app can use. +</p> + +<p class="note"> +<strong>Note:</strong> +Hosted apps can use the +"background", "clipboardRead", "clipboardWrite", "geolocation", "notifications", +and "unlimitedStorage" permissions, but not any other permissions listed in this +table. +</p> + +<table> +<tr> + <th> Permission </th> <th> Description </th> +</tr> +<tr> + <td> <em>match pattern</em> </td> + <td> Specifies a <em>host permission</em>. + Required if the extension wants to interact + with the code running on pages. + Many extension capabilities, such as + <a href="xhr.html">cross-origin XMLHttpRequests</a>, + <a href="content_scripts.html#pi">programmatically injected + content scripts</a>, and <a href="cookies.html">the cookies API</a> + require host permissions. For details on the syntax, see + <a href="match_patterns.html">Match Patterns</a>. + </td> +</tr> +<tr> + <td> "activeTab" </td> + <td> Requests that the extension be granted permissions according to the + <a href="activeTab.html">activeTab</a> specification. + </td> +</tr> +<tr id="bg"> + <td> "background" </td> + <td> <p> + Makes Chrome start up early and and shut down late, + so that apps and extensions can have a longer life. + </p> + + <p> + When any installed hosted app, packaged app, or extension + has "background" permission, Chrome runs (invisibly) + as soon as the user logs into their computer—before + the user launches Chrome. + The "background" permission also makes Chrome continue running + (even after its last window is closed) + until the user explicitly quits Chrome. + </p> + + <p class="note"> + <b>Note:</b> + Disabled apps and extensions + are treated as if they aren't installed. + </p> + + <p> + You typically use the "background" permission with a + <a href="background_pages.html">background page</a>, + <a href="event_pages.html">event page</a> + or (for hosted apps) a + <a href="http://code.google.com/chrome/apps/docs/background.html">background window</a>. + </p> + </td> +</tr> +<tr> + <td> "bookmarks" </td> + <td> Required if the extension uses the + <a href="bookmarks.html">chrome.bookmarks</a> module. </td> +</tr> +<tr> + <td> "chrome://favicon/" </td> + <td> Required if the extension uses the + "chrome://favicon/<em>url</em>" mechanism + to display the favicon of a page. + For example, to display the favicon of http://www.google.com/, + you declare the "chrome://favicon/" permission + and use HTML code like this: + <pre><img src="chrome://favicon/http://www.google.com/"></pre> + </td> +</tr> +<tr> + <td> "clipboardRead" </td> + <td> Required if the extension uses + <code>document.execCommand('paste')</code>. </td> +</tr> +<tr> + <td> "clipboardWrite" </td> + <td> Indicates the app or extension uses + <code>document.execCommand('copy')</code> or + <code>document.execCommand('cut')</code>. This permission is <b>required + for hosted apps</b>; it's recommended for extensions and packaged apps. + </td> +</tr> +<tr> + <td> "contentSettings" </td> + <td> Required if the extension uses the + <a href="contentSettings.html">chrome.contentSettings</a> module. </td> +</tr> +<tr> + <td> "contextMenus" </td> + <td> Required if the extension uses the + <a href="contextMenus.html">chrome.contextMenus</a> module. </td> +</tr> +<tr> + <td> "cookies" </td> + <td> Required if the extension uses the + <a href="cookies.html">chrome.cookies</a> module. </td> +</tr> +<tr> + <td> "experimental" </td> + <td> Required if the extension uses any + <a href="http://code.google.com/chrome/extensions/dev/experimental.html">chrome.experimental.* APIs</a>.</td> +</tr> +<tr> + <td id="fileBrowserHandler"> "fileBrowserHandler" </td> + <td> Required if the extension uses the + <a href="fileBrowserHandler.html">fileBrowserhandler</a> module. </td> +</tr> +<tr> + <td id="geolocation"> "geolocation" </td> + <td> Allows the extension to use the proposed HTML5 + <a href="http://dev.w3.org/geo/api/spec-source.html">geolocation API</a> + without prompting the user for permission. </td> +</tr> +<tr> + <td> "history" </td> + <td> Required if the extension uses the + <a href="history.html">chrome.history</a> module. </td> +</tr> +<tr> + <td> "idle" </td> + <td> Required if the extension uses the + <a href="idle.html">chrome.idle</a> module. </td> +</tr> +<tr> + <td> "management" </td> + <td> Required if the extension uses the + <a href="management.html">chrome.management</a> module. </td> +</tr> +<tr> + <td> "notifications" </td> + <td> Allows the extension to use the proposed HTML5 + <a href="http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification">notification API</a> + without calling permission methods + (such as <code>checkPermission()</code>). + For more information see + <a href="notifications.html">Desktop Notifications</a>.</td> +</tr> +<tr> + <td> "privacy" </td> + <td> Required if the extension uses the + <a href="privacy.html">chrome.privacy</a> module. </td> +</tr> +<tr> + <td> "proxy" </td> + <td> Required if the extension uses the + <a href="proxy.html">chrome.proxy</a> module. </td> +</tr> +<tr> + <td> "storage" </td> + <td> Required if the extension uses the + <a href="storage.html">chrome.storage</a> module. </td> +</tr> +<tr> + <td> "tabs" </td> + <td> Required if the extension uses the + <a href="tabs.html">chrome.tabs</a> or + <a href="windows.html">chrome.windows</a> module. </td> +</tr> +<tr> + <td> "tts" </td> + <td> Required if the extension uses the + <a href="tts.html">chrome.tts</a> module. </td> +</tr> +<tr> + <td> "ttsEngine" </td> + <td> Required if the extension uses the + <a href="ttsEngine.html">chrome.ttsEngine</a> module. </td> +</tr> +<tr> + <td> "unlimitedStorage"</td> + <td> Provides an unlimited quota for storing HTML5 client-side data, + such as databases and local storage files. + Without this permission, the extension is limited to + 5 MB of local storage. + + <p class="note"> + <b>Note:</b> + This permission applies only to Web SQL Database and application cache + (see issue <a href="http://crbug.com/58985">58985</a>). + Also, it doesn't currently work with wildcard subdomains such as + <code>http://*.example.com</code>. + </p> + </td> +<tr> +<tr> + <td> "webNavigation" </td> + <td> Required if the extension uses the + <a href="webNavigation.html">chrome.webNavigation</a> module. </td> +</tr> +<tr> + <td> "webRequest" </td> + <td> Required if the extension uses the + <a href="webRequest.html">chrome.webRequest</a> module. </td> +</tr> +<tr> + <td> "webRequestBlocking" </td> + <td> Required if the extension uses the + <a href="webRequest.html">chrome.webRequest</a> module in a blocking + fashion. </td> +</tr> +</tr> +</table> + <h3 id="requirements">requirements</h3> <p> diff --git a/chrome/common/extensions/docs/templates/articles/permission_warnings.html b/chrome/common/extensions/docs/templates/articles/permission_warnings.html index b115654..42ddf80 100644 --- a/chrome/common/extensions/docs/templates/articles/permission_warnings.html +++ b/chrome/common/extensions/docs/templates/articles/permission_warnings.html @@ -135,11 +135,10 @@ that trigger them. <p> <table> - <tr> - <th> Warning message </th> - <th> Manifest entry that caused it </th> - <th> Notes </th> - </tr> +<tr> + <th>Warning message</th> <th>Manifest entry that causes it</th> <th>Notes</th> +</tr> + <tr> <td style="font-weight:bold"> <!-- IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS --> @@ -175,21 +174,13 @@ that trigger them. </td> <td> <!-- HasEffectiveBrowsingHistoryPermission --> - Any of the following: - <ul> - <li> "history" permission </li> - <li> "topSites" permission </li> - </ul> + "history" permission </td> <td> <p> The "history" permission is required by <a href="history.html"><code>chrome.history</code></a>. </p> - <p> - The "topSites" permission is required by - <a href="topSites.html"><code>chrome.topSites</code></a>. - </p> </td> </tr> diff --git a/chrome/common/extensions/docs/templates/intros/permissions.html b/chrome/common/extensions/docs/templates/intros/permissions.html index b6b8e08..a4f49d3 100644 --- a/chrome/common/extensions/docs/templates/intros/permissions.html +++ b/chrome/common/extensions/docs/templates/intros/permissions.html @@ -1,10 +1,9 @@ <p id="classSummary"> - Use the <code>chrome.permissions</code> module - to implement optional permissions. - As of Chrome 16, you can request optional permissions during your - extension's regular application flow rather than at install time, - so users understand why the permissions are needed - and use only those that are necessary. + Use the <code>chrome.permissions</code> module to implement + optional permissions. You can request optional permissions during your + extension's regular application flow rather than at install time, so users + understand why the permissions are needed and use only those that are + necessary. </p> <p> diff --git a/chrome/common/extensions/docs/templates/private/standard_apps_article.html b/chrome/common/extensions/docs/templates/private/standard_apps_article.html index df4ee20..3509d34 100644 --- a/chrome/common/extensions/docs/templates/private/standard_apps_article.html +++ b/chrome/common/extensions/docs/templates/private/standard_apps_article.html @@ -2,7 +2,6 @@ <html> <head> {{+partials.header_head}} - <link href="{{static}}/css/api.css" rel="stylesheet" type="text/css"> <title>{{article.title}} - Google Chrome</title> </head> <body> diff --git a/chrome/common/extensions/docs/templates/private/standard_extensions_article.html b/chrome/common/extensions/docs/templates/private/standard_extensions_article.html index 8d83e29..7959f36 100644 --- a/chrome/common/extensions/docs/templates/private/standard_extensions_article.html +++ b/chrome/common/extensions/docs/templates/private/standard_extensions_article.html @@ -2,7 +2,6 @@ <html> <head> {{+partials.header_head}} - <link href="{{static}}/css/api.css" rel="stylesheet" type="text/css"> <title>{{article.title}} - Google Chrome</title> </head> <body> diff --git a/chrome/common/extensions/docs/templates/public/apps/declare_permissions.html b/chrome/common/extensions/docs/templates/public/apps/declare_permissions.html deleted file mode 100644 index 998bb68..0000000 --- a/chrome/common/extensions/docs/templates/public/apps/declare_permissions.html +++ /dev/null @@ -1 +0,0 @@ -{{+partials.standard_apps_article article:intros.declare_permissions}} diff --git a/chrome/common/extensions/docs/templates/public/extensions/declare_permissions.html b/chrome/common/extensions/docs/templates/public/extensions/declare_permissions.html deleted file mode 100644 index 910cc34..0000000 --- a/chrome/common/extensions/docs/templates/public/extensions/declare_permissions.html +++ /dev/null @@ -1 +0,0 @@ -{{+partials.standard_extensions_article article:intros.declare_permissions}} diff --git a/chrome/common/extensions/docs/templates/public/extensions/index.html b/chrome/common/extensions/docs/templates/public/extensions/index.html index 69ee86b..f7a0f84 100644 --- a/chrome/common/extensions/docs/templates/public/extensions/index.html +++ b/chrome/common/extensions/docs/templates/public/extensions/index.html @@ -11,7 +11,7 @@ <div id="gc-pagecontent"> <table id="index"> <tr> - <td style="border:none"> + <td> <h3>What are extensions?</h3> <p> Extensions are small software programs that @@ -59,7 +59,7 @@ <a href="http://code.google.com/chrome/webstore">store developer documentation</a>. </p> </td> - <td id="howDoIStart" style="border:none"> + <td id="howDoIStart"> <h3>How do I start?</h3> <p></p> <ol> |