diff options
author | benjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 19:58:21 +0000 |
---|---|---|
committer | benjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 19:58:21 +0000 |
commit | 1f75331a4e6150f4a579b7c6cf6240ab6186779f (patch) | |
tree | fc040d583d8f9127accc31a9d16c2877da911671 /chrome/common/extensions/docs/examples/api/downloads | |
parent | 63dc540c5180a9d6561e05d4b673a857588fe2d1 (diff) | |
download | chromium_src-1f75331a4e6150f4a579b7c6cf6240ab6186779f.zip chromium_src-1f75331a4e6150f4a579b7c6cf6240ab6186779f.tar.gz chromium_src-1f75331a4e6150f4a579b7c6cf6240ab6186779f.tar.bz2 |
Remove the host permission check from downloads.download()
Also some clean-ups in the sample extensions.
Formerly:
http://src.chromium.org/viewvc/chrome?view=rev&revision=214801
http://src.chromium.org/viewvc/chrome?view=rev&revision=213685
BUG=246542
R=asargent@chromium.org, vabr@chromium.org
Review URL: https://codereview.chromium.org/22297013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216255 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/docs/examples/api/downloads')
7 files changed, 72 insertions, 36 deletions
diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_links/manifest.json b/chrome/common/extensions/docs/examples/api/downloads/download_links/manifest.json index affbc47..4745d3b 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_links/manifest.json +++ b/chrome/common/extensions/docs/examples/api/downloads/download_links/manifest.json @@ -3,11 +3,7 @@ "description": "Select links on a page and download them.", "version": "0.1", "minimum_chrome_version": "16.0.884", - "permissions": [ - "experimental", "tabs", "http://*/*", "https://*/*" - ], - "browser_action": { - "default_popup": "popup.html" - }, + "permissions": ["tabs", "downloads"], + "browser_action": {"default_popup": "popup.html"}, "manifest_version": 2 } diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_manager/_locales/en/messages.json b/chrome/common/extensions/docs/examples/api/downloads/download_manager/_locales/en/messages.json index cc1b636..3f59ae2 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_manager/_locales/en/messages.json +++ b/chrome/common/extensions/docs/examples/api/downloads/download_manager/_locales/en/messages.json @@ -28,6 +28,12 @@ "zeroSearchResults": { "message": "Zero matches", "description": ""}, + "managementPermissionInfo": { + "message": "Some files were downloaded by an extension.", + "description": ""}, + "grantManagementPermission": { + "message": "Show links to extensions that download files.", + "description": ""}, "showOlderDownloads": { "message": "Show Older Downloads", "description": ""}, diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_manager/manifest.json b/chrome/common/extensions/docs/examples/api/downloads/download_manager/manifest.json index 1141c0d..6ae38ad 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_manager/manifest.json +++ b/chrome/common/extensions/docs/examples/api/downloads/download_manager/manifest.json @@ -11,4 +11,5 @@ "default_popup": "popup.html"}, "background": {"persistent": false, "scripts": ["background.js"]}, "default_locale": "en", - "permissions": ["management", "downloads", "downloads.open", "downloads.shelf"]} + "optional_permissions": ["management"], + "permissions": ["downloads", "downloads.open", "downloads.shelf"]} diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.css b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.css index 46b0800..967d512 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.css +++ b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.css @@ -2,10 +2,6 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -body { - text-align: center; -} - #outer, #empty, #open-folder, @@ -15,6 +11,16 @@ body { display: inline-block; } +#q-outer { + display:inline-block; + height:1.7em; + overflow:hidden; +} + +#q { + margin-right: 2em; +} + #head { position: fixed; width: 100%; @@ -58,15 +64,9 @@ body { } #q { - margin-top: 0.5em; margin-left: 3%; } -#clear-all, -#open-folder { - float: right; -} - .by-ext img, svg { width: 2em; @@ -96,11 +96,6 @@ svg rect.border { stroke: black; } -.clearfix { - clear: both; - float: right; -} - #older, #loading-older, .item { diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.html b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.html index b1cc635..95933be 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.html +++ b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.html @@ -12,7 +12,9 @@ <a id="bad-chrome-version" hidden href="https://www.google.com/intl/en/chrome/browser/beta.html"></a> <span id="empty" hidden></span> - <input type="search" id="q" incremental> + <div id="q-outer"> + <input type="search" id="q" incremental><br> + </div> <a href="#" id="clear-all"><svg viewBox="0 0 100 100"><g> <rect x="5" y="5" rx="20" ry="20" width="90" height="90" class="border" /> <ellipse rx="30" ry="8" cx="50" cy="55" /> @@ -30,13 +32,16 @@ <polygon points="20,20 20,80 60,80 60,30 35,30 35,20" /> <polygon points="20,80 60,80 80,45 40,45" /> </g></svg></a> - <div class="clearfix"> </div> </div> <div id="searching" hidden></div> <div id="search-zero" hidden></div> <div id="items"></div> <a href="#" id="older" hidden></a> <span id="loading-older" hidden></span> + <div id="request-management-permission" hidden><div + id="management-permission-info"></div> + <a href="#" id="grant-management-permission"></a> + </div> </div> <div class="item" hidden> diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.js b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.js index e878fc7..6c88e3d 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.js +++ b/chrome/common/extensions/docs/examples/api/downloads/download_manager/popup.js @@ -26,6 +26,10 @@ function loadI18nMessages() { setProperty('#empty', 'innerText', 'zeroItems'); setProperty('#searching', 'innerText', 'searching'); setProperty('#search-zero', 'innerText', 'zeroSearchResults'); + setProperty('#management-permission-info', 'innerText', + 'managementPermissionInfo'); + setProperty('#grant-management-permission', 'innerText', + 'grantManagementPermission'); setProperty('#older', 'innerText', 'showOlderDownloads'); setProperty('#loading-older', 'innerText', 'loadingOlderDownloads'); setProperty('.pause', 'title', 'pauseTitle'); @@ -296,9 +300,9 @@ DownloadItem.prototype.render = function() { }); } - item.getElement('removed').style.display = openable ? 'none' : 'inline-block'; + item.getElement('removed').style.display = openable ? 'none' : 'inline'; item.getElement('open-filename').style.display = ( - openable ? 'inline-block' : 'none'); + openable ? 'inline' : 'none'); item.getElement('in-progress').hidden = !in_progress; item.getElement('pause').style.display = ( !in_progress || item.paused) ? 'none' : 'inline-block'; @@ -321,14 +325,43 @@ DownloadItem.prototype.render = function() { item.getElement('removed').innerText = item.basename; item.getElement('open-filename').innerText = item.basename; + function setByExtension(show) { + if (show) { + item.getElement('by-ext').title = item.byExtensionName; + item.getElement('by-ext').href = + 'chrome://extensions#' + item.byExtensionId; + item.getElement('by-ext img').src = + 'chrome://extension-icon/' + item.byExtensionId + '/48/1'; + } else { + item.getElement('by-ext').hidden = true; + } + } if (item.byExtensionId && item.byExtensionName) { - item.getElement('by-ext').title = item.byExtensionName; - item.getElement('by-ext').href = - 'chrome://extensions#' + item.byExtensionId; - item.getElement('by-ext img').src = - 'chrome://extension-icon/' + item.byExtensionId + '/48/1'; + chrome.permissions.contains({permissions: ['management']}, + function(result) { + if (result) { + setByExtension(true); + } else { + setByExtension(false); + if (!localStorage.managementPermissionDenied) { + document.getElementById('request-management-permission').hidden = + false; + document.getElementById('grant-management-permission').onclick = + function() { + chrome.permissions.request({permissions: ['management']}, + function(granted) { + setByExtension(granted); + if (!granted) { + localStorage.managementPermissionDenied = true; + } + }); + return false; + }; + } + } + }); } else { - item.getElement('by-ext').hidden = true; + setByExtension(false); } if (!item.getElement('error').hidden) { @@ -509,9 +542,9 @@ DownloadManager.showNew = function() { var any_items = (document.getElementById('items').childNodes.length > 0); document.getElementById('empty').style.display = any_items ? 'none' : 'inline-block'; + document.getElementById('head').style.borderBottomWidth = + (any_items ? 1 : 0) + 'px'; document.getElementById('clear-all').hidden = !any_items; - document.getElementById('open-folder').style.float = - any_items ? 'right' : 'none'; var query_search = document.getElementById('q'); query_search.hidden = !any_items; @@ -682,7 +715,7 @@ if (chrome.downloads) { window.onload = function() { document.body.style.minWidth = ( - document.getElementById('q').offsetWidth + + document.getElementById('q-outer').offsetWidth + document.getElementById('clear-all').offsetWidth + document.getElementById('open-folder').offsetWidth) + 'px'; setLastOpened(); diff --git a/chrome/common/extensions/docs/examples/api/downloads/download_open/_locales/en/messages.json b/chrome/common/extensions/docs/examples/api/downloads/download_open/_locales/en/messages.json index 5a6df11..eae1fbe 100644 --- a/chrome/common/extensions/docs/examples/api/downloads/download_open/_locales/en/messages.json +++ b/chrome/common/extensions/docs/examples/api/downloads/download_open/_locales/en/messages.json @@ -1,5 +1,5 @@ {"extName": { - "message": "Download and Open Context Menu Button", + "message": "Download and Open Button", "description": "Extension name"}, "extDesc": { "message": "Download and Open Context Menu Button", |