| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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 #include "chrome/browser/dom_ui/downloads_dom_handler.h" | 5 #include "chrome/browser/dom_ui/downloads_dom_handler.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/gfx/png_encoder.h" | 9 #include "base/gfx/png_encoder.h" |
| 10 #include "base/string_piece.h" | 10 #include "base/string_piece.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 DownloadItem*, | 40 DownloadItem*, |
| 41 bool> { | 41 bool> { |
| 42 public: | 42 public: |
| 43 bool operator()(const DownloadItem* lhs, const DownloadItem* rhs) { | 43 bool operator()(const DownloadItem* lhs, const DownloadItem* rhs) { |
| 44 return lhs->start_time() > rhs->start_time(); | 44 return lhs->start_time() > rhs->start_time(); |
| 45 } | 45 } |
| 46 }; | 46 }; |
| 47 | 47 |
| 48 } // namespace | 48 } // namespace |
| 49 | 49 |
| 50 DownloadsDOMHandler::DownloadsDOMHandler(DOMUI* dom_ui, DownloadManager* dlm) | 50 DownloadsDOMHandler::DownloadsDOMHandler(DownloadManager* dlm) |
| 51 : DOMMessageHandler(dom_ui), | 51 : search_text_(), |
| 52 search_text_(), | |
| 53 download_manager_(dlm) { | 52 download_manager_(dlm) { |
| 53 // Create our fileicon data source. |
| 54 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE, |
| 55 NewRunnableMethod(&chrome_url_data_manager, |
| 56 &ChromeURLDataManager::AddDataSource, |
| 57 new FileIconSource())); |
| 58 } |
| 59 |
| 60 DownloadsDOMHandler::~DownloadsDOMHandler() { |
| 61 ClearDownloadItems(); |
| 62 download_manager_->RemoveObserver(this); |
| 63 } |
| 64 |
| 65 // DownloadsDOMHandler, public: ----------------------------------------------- |
| 66 |
| 67 void DownloadsDOMHandler::Init() { |
| 68 download_manager_->AddObserver(this); |
| 69 } |
| 70 |
| 71 void DownloadsDOMHandler::RegisterMessages() { |
| 54 dom_ui_->RegisterMessageCallback("getDownloads", | 72 dom_ui_->RegisterMessageCallback("getDownloads", |
| 55 NewCallback(this, &DownloadsDOMHandler::HandleGetDownloads)); | 73 NewCallback(this, &DownloadsDOMHandler::HandleGetDownloads)); |
| 56 dom_ui_->RegisterMessageCallback("openFile", | 74 dom_ui_->RegisterMessageCallback("openFile", |
| 57 NewCallback(this, &DownloadsDOMHandler::HandleOpenFile)); | 75 NewCallback(this, &DownloadsDOMHandler::HandleOpenFile)); |
| 58 | 76 |
| 59 dom_ui_->RegisterMessageCallback("drag", | 77 dom_ui_->RegisterMessageCallback("drag", |
| 60 NewCallback(this, &DownloadsDOMHandler::HandleDrag)); | 78 NewCallback(this, &DownloadsDOMHandler::HandleDrag)); |
| 61 | 79 |
| 62 dom_ui_->RegisterMessageCallback("saveDangerous", | 80 dom_ui_->RegisterMessageCallback("saveDangerous", |
| 63 NewCallback(this, &DownloadsDOMHandler::HandleSaveDangerous)); | 81 NewCallback(this, &DownloadsDOMHandler::HandleSaveDangerous)); |
| 64 dom_ui_->RegisterMessageCallback("discardDangerous", | 82 dom_ui_->RegisterMessageCallback("discardDangerous", |
| 65 NewCallback(this, &DownloadsDOMHandler::HandleDiscardDangerous)); | 83 NewCallback(this, &DownloadsDOMHandler::HandleDiscardDangerous)); |
| 66 dom_ui_->RegisterMessageCallback("show", | 84 dom_ui_->RegisterMessageCallback("show", |
| 67 NewCallback(this, &DownloadsDOMHandler::HandleShow)); | 85 NewCallback(this, &DownloadsDOMHandler::HandleShow)); |
| 68 dom_ui_->RegisterMessageCallback("togglepause", | 86 dom_ui_->RegisterMessageCallback("togglepause", |
| 69 NewCallback(this, &DownloadsDOMHandler::HandlePause)); | 87 NewCallback(this, &DownloadsDOMHandler::HandlePause)); |
| 70 dom_ui_->RegisterMessageCallback("resume", | 88 dom_ui_->RegisterMessageCallback("resume", |
| 71 NewCallback(this, &DownloadsDOMHandler::HandlePause)); | 89 NewCallback(this, &DownloadsDOMHandler::HandlePause)); |
| 72 dom_ui_->RegisterMessageCallback("cancel", | 90 dom_ui_->RegisterMessageCallback("cancel", |
| 73 NewCallback(this, &DownloadsDOMHandler::HandleCancel)); | 91 NewCallback(this, &DownloadsDOMHandler::HandleCancel)); |
| 74 dom_ui_->RegisterMessageCallback("clearAll", | 92 dom_ui_->RegisterMessageCallback("clearAll", |
| 75 NewCallback(this, &DownloadsDOMHandler::HandleClearAll)); | 93 NewCallback(this, &DownloadsDOMHandler::HandleClearAll)); |
| 76 | |
| 77 | |
| 78 // Create our fileicon data source. | |
| 79 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE, | |
| 80 NewRunnableMethod(&chrome_url_data_manager, | |
| 81 &ChromeURLDataManager::AddDataSource, | |
| 82 new FileIconSource())); | |
| 83 } | |
| 84 | |
| 85 DownloadsDOMHandler::~DownloadsDOMHandler() { | |
| 86 ClearDownloadItems(); | |
| 87 download_manager_->RemoveObserver(this); | |
| 88 } | |
| 89 | |
| 90 // DownloadsDOMHandler, public: ----------------------------------------------- | |
| 91 | |
| 92 void DownloadsDOMHandler::Init() { | |
| 93 download_manager_->AddObserver(this); | |
| 94 } | 94 } |
| 95 | 95 |
| 96 void DownloadsDOMHandler::OnDownloadUpdated(DownloadItem* download) { | 96 void DownloadsDOMHandler::OnDownloadUpdated(DownloadItem* download) { |
| 97 // Get the id for the download. Our downloads are sorted latest to first, | 97 // Get the id for the download. Our downloads are sorted latest to first, |
| 98 // and the id is the index into that list. We should be careful of sync | 98 // and the id is the index into that list. We should be careful of sync |
| 99 // errors between the UI and the download_items_ list (we may wish to use | 99 // errors between the UI and the download_items_ list (we may wish to use |
| 100 // something other than 'id'). | 100 // something other than 'id'). |
| 101 OrderedDownloads::iterator it = find(download_items_.begin(), | 101 OrderedDownloads::iterator it = find(download_items_.begin(), |
| 102 download_items_.end(), | 102 download_items_.end(), |
| 103 download); | 103 download); |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 else if (download->TimeRemaining(&remaining)) | 344 else if (download->TimeRemaining(&remaining)) |
| 345 time_remaining = TimeFormat::TimeRemaining(remaining); | 345 time_remaining = TimeFormat::TimeRemaining(remaining); |
| 346 | 346 |
| 347 if (time_remaining.empty()) { | 347 if (time_remaining.empty()) { |
| 348 return l10n_util::GetStringF(IDS_DOWNLOAD_TAB_PROGRESS_STATUS_TIME_UNKNOWN, | 348 return l10n_util::GetStringF(IDS_DOWNLOAD_TAB_PROGRESS_STATUS_TIME_UNKNOWN, |
| 349 speed_text, amount); | 349 speed_text, amount); |
| 350 } | 350 } |
| 351 return l10n_util::GetStringF(IDS_DOWNLOAD_TAB_PROGRESS_STATUS, speed_text, | 351 return l10n_util::GetStringF(IDS_DOWNLOAD_TAB_PROGRESS_STATUS, speed_text, |
| 352 amount, time_remaining); | 352 amount, time_remaining); |
| 353 } | 353 } |
| OLD | NEW |