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

Side by Side Diff: chrome/browser/download/download_shelf_context_menu.h

Issue 852043002: Initial Implementation of Download Notification (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_ 5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_
6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_ 6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/strings/string16.h" 11 #include "base/strings/string16.h"
12 #include "content/public/browser/download_item.h" 12 #include "content/public/browser/download_item.h"
13 #include "ui/base/models/simple_menu_model.h" 13 #include "ui/base/models/simple_menu_model.h"
14 14
15 namespace content { 15 namespace content {
16 class PageNavigator; 16 class PageNavigator;
17 } 17 }
18 18
19 // This class is responsible for the download shelf context menu. Platform 19 // This class is responsible for the download shelf context menu. Platform
20 // specific subclasses are responsible for creating and running the menu. 20 // specific subclasses are responsible for creating and running the menu.
21 // 21 //
22 // The DownloadItem corresponding to the context menu is observed for removal or 22 // The DownloadItem corresponding to the context menu is observed for removal or
23 // destruction. 23 // destruction.
24 class DownloadShelfContextMenu : public ui::SimpleMenuModel::Delegate, 24 class DownloadShelfContextMenu : public ui::SimpleMenuModel::Delegate,
25 public content::DownloadItem::Observer { 25 public content::DownloadItem::Observer {
26 public: 26 public:
27 enum ContextMenuCommands {
28 SHOW_IN_FOLDER = 1, // Open a folder view window with the item selected.
29 OPEN_WHEN_COMPLETE, // Open the download when it's finished.
30 ALWAYS_OPEN_TYPE, // Default this file extension to always open.
31 PLATFORM_OPEN, // Open using platform handler.
32 CANCEL, // Cancel the download.
33 TOGGLE_PAUSE, // Pause or resume a download.
34 DISCARD, // Discard the malicious download.
35 KEEP, // Keep the malicious download.
36 LEARN_MORE_SCANNING, // Show information about download scanning.
37 LEARN_MORE_INTERRUPTED,// Show information about interrupted downloads.
38 };
39
40 ~DownloadShelfContextMenu() override; 27 ~DownloadShelfContextMenu() override;
41 28
42 content::DownloadItem* download_item() const { return download_item_; } 29 content::DownloadItem* download_item() const { return download_item_; }
43 30
44 protected: 31 protected:
45 DownloadShelfContextMenu(content::DownloadItem* download_item, 32 DownloadShelfContextMenu(content::DownloadItem* download_item,
46 content::PageNavigator* navigator); 33 content::PageNavigator* navigator);
47 34
48 // Returns the correct menu model depending on the state of the download item. 35 // Returns the correct menu model depending on the state of the download item.
49 // Returns NULL if the download was destroyed. 36 // Returns NULL if the download was destroyed.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 content::PageNavigator* navigator_; 83 content::PageNavigator* navigator_;
97 84
98 #if defined(OS_WIN) 85 #if defined(OS_WIN)
99 bool is_adobe_pdf_reader_up_to_date_; 86 bool is_adobe_pdf_reader_up_to_date_;
100 #endif 87 #endif
101 88
102 DISALLOW_COPY_AND_ASSIGN(DownloadShelfContextMenu); 89 DISALLOW_COPY_AND_ASSIGN(DownloadShelfContextMenu);
103 }; 90 };
104 91
105 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_ 92 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_SHELF_CONTEXT_MENU_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698