summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-29 22:04:57 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-29 22:04:57 +0000
commit82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09 (patch)
treeda28f20debb7321045f81bbb54bf5e437071ddb0 /chrome/browser/dom_ui
parent947b1a563bceae4b78425424f0c0b88fa182ce22 (diff)
downloadchromium_src-82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09.zip
chromium_src-82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09.tar.gz
chromium_src-82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09.tar.bz2
Download code cleanup patch of death:
Separate all interactions with HistoryService out of DownloadManager to new class DownloadHistory owned by the DownloadManager. The goal is to create more smaller classes with clearly defined responsibilities. TEST=unit_tests, browser_tests, ui_tests BUG=48913 Review URL: http://codereview.chromium.org/3071005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54205 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui')
-rw-r--r--chrome/browser/dom_ui/downloads_dom_handler.cc17
-rw-r--r--chrome/browser/dom_ui/downloads_dom_handler.h3
-rw-r--r--chrome/browser/dom_ui/filebrowse_ui.cc6
3 files changed, 17 insertions, 9 deletions
diff --git a/chrome/browser/dom_ui/downloads_dom_handler.cc b/chrome/browser/dom_ui/downloads_dom_handler.cc
index 581ab20..c1ba9d2 100644
--- a/chrome/browser/dom_ui/downloads_dom_handler.cc
+++ b/chrome/browser/dom_ui/downloads_dom_handler.cc
@@ -9,11 +9,13 @@
#include "base/singleton.h"
#include "base/string_piece.h"
#include "base/thread.h"
+#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_thread.h"
#include "chrome/browser/dom_ui/chrome_url_data_manager.h"
#include "chrome/browser/dom_ui/fileicon_source.h"
+#include "chrome/browser/download/download_history.h"
#include "chrome/browser/download/download_item.h"
#include "chrome/browser/download/download_util.h"
#include "chrome/browser/metrics/user_metrics.h"
@@ -110,15 +112,16 @@ void DownloadsDOMHandler::OnDownloadUpdated(DownloadItem* download) {
}
// A download has started or been deleted. Query our DownloadManager for the
-// current set of downloads, which will call us back in SetDownloads once it
-// has retrieved them.
+// current set of downloads.
void DownloadsDOMHandler::ModelChanged() {
ClearDownloadItems();
- download_manager_->GetDownloads(this, search_text_);
+ download_manager_->download_history()->Search(
+ WideToUTF16(search_text_),
+ NewCallback(this, &DownloadsDOMHandler::OnSearchDownloadsComplete));
}
-void DownloadsDOMHandler::SetDownloads(
- std::vector<DownloadItem*>& downloads) {
+void DownloadsDOMHandler::OnSearchDownloadsComplete(
+ std::vector<DownloadItem*> downloads) {
ClearDownloadItems();
// Swap new downloads in.
@@ -149,7 +152,9 @@ void DownloadsDOMHandler::HandleGetDownloads(const Value* value) {
if (search_text_.compare(new_search) != 0) {
search_text_ = new_search;
ClearDownloadItems();
- download_manager_->GetDownloads(this, search_text_);
+ download_manager_->download_history()->Search(
+ WideToUTF16(search_text_),
+ NewCallback(this, &DownloadsDOMHandler::OnSearchDownloadsComplete));
} else {
SendCurrentDownloads();
}
diff --git a/chrome/browser/dom_ui/downloads_dom_handler.h b/chrome/browser/dom_ui/downloads_dom_handler.h
index 32ab2bf..06b48d6 100644
--- a/chrome/browser/dom_ui/downloads_dom_handler.h
+++ b/chrome/browser/dom_ui/downloads_dom_handler.h
@@ -35,7 +35,8 @@ class DownloadsDOMHandler : public DOMMessageHandler,
// DownloadManager::Observer interface
virtual void ModelChanged();
- virtual void SetDownloads(std::vector<DownloadItem*>& downloads);
+
+ void OnSearchDownloadsComplete(std::vector<DownloadItem*> downloads);
// Callback for the "getDownloads" message.
void HandleGetDownloads(const Value* value);
diff --git a/chrome/browser/dom_ui/filebrowse_ui.cc b/chrome/browser/dom_ui/filebrowse_ui.cc
index 7886752..8bab7cd 100644
--- a/chrome/browser/dom_ui/filebrowse_ui.cc
+++ b/chrome/browser/dom_ui/filebrowse_ui.cc
@@ -126,7 +126,8 @@ class FilebrowseHandler : public net::DirectoryLister::DirectoryListerDelegate,
// DownloadManager::Observer interface
virtual void ModelChanged();
- virtual void SetDownloads(std::vector<DownloadItem*>& downloads);
+
+ void OnSearchDownloadsComplete(std::vector<DownloadItem*> downloads);
// Callback for the "getRoots" message.
void HandleGetRoots(const Value* value);
@@ -969,7 +970,8 @@ void FilebrowseHandler::ModelChanged() {
download_manager_->GetAllDownloads(this, FilePath());
}
-void FilebrowseHandler::SetDownloads(std::vector<DownloadItem*>& downloads) {
+void FilebrowseHandler::OnSearchDownloadsComplete(
+ std::vector<DownloadItem*> downloads) {
ClearDownloadItems();
std::vector<DownloadItem*> new_downloads;
// Scan for any in progress downloads and add ourself to them as an observer.