Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: chrome/browser/download/download_util.cc

Issue 11016022: Don't show downloads from web intents picker in shelf (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix build Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/download/download_util.h ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/download/download_util.cc
diff --git a/chrome/browser/download/download_util.cc b/chrome/browser/download/download_util.cc
index d043c220ea4448b0692e9e4435522888d81c84a7..3c8b59d017796e061383970319bca085eb990725 100644
--- a/chrome/browser/download/download_util.cc
+++ b/chrome/browser/download/download_util.cc
@@ -75,6 +75,21 @@
namespace {
+// Key used to attach ShowInShelfData to a DownloadItem.
+const char kShowInShelfKey[] = "chrome.download_util.show_in_shelf";
+
+// Class that tracks the "show in download shelf" setting for a download item.
+class ShowInShelfData : public base::SupportsUserData::Data {
+ public:
+ explicit ShowInShelfData(bool should_show) : should_show_(should_show) {
+ }
+
+ bool should_show() const { return should_show_; }
+
+ private:
+ const bool should_show_;
+};
+
// Get the opacity based on |animation_progress|, with values in [0.0, 1.0].
// Range of return value is [0, 255].
int GetOpacity(double animation_progress) {
@@ -480,4 +495,14 @@ void RecordDownloadSource(ChromeDownloadSource source) {
"Download.SourcesChrome", source, CHROME_DOWNLOAD_SOURCE_LAST_ENTRY);
}
+bool ShouldShowInShelf(content::DownloadItem* item) {
+ ShowInShelfData* data =
+ static_cast<ShowInShelfData*>(item->GetUserData(kShowInShelfKey));
+ return !data || data->should_show();
+}
+
+void SetShouldShowInShelf(content::DownloadItem* item, bool should_show) {
+ item->SetUserData(kShowInShelfKey, new ShowInShelfData(should_show));
+}
+
} // namespace download_util
« no previous file with comments | « chrome/browser/download/download_util.h ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698