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

Unified Diff: chrome/browser/ui/webui/downloads_dom_handler.cc

Issue 7398026: Added a link to the downloads tab that opens the downloads folder. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added a period at the end of a comment. Created 9 years, 5 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
Index: chrome/browser/ui/webui/downloads_dom_handler.cc
diff --git a/chrome/browser/ui/webui/downloads_dom_handler.cc b/chrome/browser/ui/webui/downloads_dom_handler.cc
index f5e7929ce49d63f00a34573c4dad7fb57e61c438..d31777132b3709b944bcf7a9572892559f9fb786 100644
--- a/chrome/browser/ui/webui/downloads_dom_handler.cc
+++ b/chrome/browser/ui/webui/downloads_dom_handler.cc
@@ -17,7 +17,9 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/download/download_history.h"
#include "chrome/browser/download/download_item.h"
+#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/download/download_util.h"
+#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
#include "chrome/browser/ui/webui/fileicon_source.h"
@@ -97,6 +99,8 @@ void DownloadsDOMHandler::RegisterMessages() {
NewCallback(this, &DownloadsDOMHandler::HandleCancel));
web_ui_->RegisterMessageCallback("clearAll",
NewCallback(this, &DownloadsDOMHandler::HandleClearAll));
+ web_ui_->RegisterMessageCallback("openDownloadsFolder",
+ NewCallback(this, &DownloadsDOMHandler::HandleOpenDownloadsFolder));
}
void DownloadsDOMHandler::OnDownloadUpdated(DownloadItem* download) {
@@ -227,6 +231,19 @@ void DownloadsDOMHandler::HandleClearAll(const ListValue* args) {
download_manager_->RemoveAllDownloads();
}
+void DownloadsDOMHandler::HandleOpenDownloadsFolder(const ListValue* args) {
+ FilePath path = download_manager_->download_prefs()->download_path();
+
+#if defined(OS_MACOSX)
+ // Must be called from the UI thread on Mac.
+ platform_util::OpenItem(path);
+#else
+ BrowserThread::PostTask(
+ BrowserThread::FILE, FROM_HERE,
+ NewRunnableFunction(&platform_util::OpenItem, path));
+#endif
+}
+
// DownloadsDOMHandler, private: ----------------------------------------------
void DownloadsDOMHandler::SendCurrentDownloads() {

Powered by Google App Engine
This is Rietveld 408576698