Give names to all utility processes.
[chromium-blink-merge.git] / chrome / browser / download / download_commands.h
blobd6849b41beff9b40af8dec29b79d1660f7d78874
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_COMMANDS_H_
6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_COMMANDS_H_
8 #include "base/strings/string16.h"
10 #include "chrome/browser/ui/browser.h"
11 #include "content/public/browser/download_item.h"
12 #include "content/public/browser/page_navigator.h"
13 #include "ui/gfx/image/image.h"
15 class DownloadCommands {
16 public:
17 enum Command {
18 SHOW_IN_FOLDER = 1, // Open a folder view window with the item selected.
19 OPEN_WHEN_COMPLETE, // Open the download when it's finished.
20 ALWAYS_OPEN_TYPE, // Default this file extension to always open.
21 PLATFORM_OPEN, // Open using platform handler.
22 CANCEL, // Cancel the download.
23 PAUSE, // Pause a download.
24 RESUME, // Resume a download.
25 DISCARD, // Discard the malicious download.
26 KEEP, // Keep the malicious download.
27 RETRY, // Retry the download.
28 LEARN_MORE_SCANNING, // Show information about download scanning.
29 LEARN_MORE_INTERRUPTED, // Show information about interrupted downloads.
32 // |download_item| must outlive DownloadCommands.
33 explicit DownloadCommands(content::DownloadItem* download_item);
34 virtual ~DownloadCommands() {}
36 gfx::Image GetCommandIcon(Command command);
38 bool IsCommandEnabled(Command command) const;
39 bool IsCommandChecked(Command command) const;
40 bool IsCommandVisible(Command command) const;
41 void ExecuteCommand(Command command);
43 #if defined(OS_WIN) || defined(OS_LINUX) || \
44 (defined(OS_MACOSX) && !defined(OS_IOS))
45 bool IsDownloadPdf() const;
46 bool CanOpenPdfInSystemViewer() const;
47 #endif
49 private:
50 Browser* GetBrowser() const;
52 int GetCommandIconId(Command command);
54 int GetAlwaysOpenStringId() const;
56 content::DownloadItem* const download_item_;
59 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_COMMANDS_H_