| 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() {
|
|
|