From 2d54c403539416779245fb684789f2f68ec9fb61 Mon Sep 17 00:00:00 2001 From: "alyssad@google.com" Date: Fri, 20 Aug 2010 00:42:28 +0000 Subject: New downloads hooks for pyauto. BUG=35284 New hooks allow the user to pause/resume/cancel/remove downloads and more. Review URL: http://codereview.chromium.org/3176016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56789 0039d316-1c4b-4281-b951-d872f2087c98 --- .../automation/automation_provider_observers.cc | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'chrome/browser/automation/automation_provider_observers.cc') diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc index 4938867..badfb4d 100644 --- a/chrome/browser/automation/automation_provider_observers.cc +++ b/chrome/browser/automation/automation_provider_observers.cc @@ -1064,6 +1064,37 @@ void AutomationProviderDownloadItemObserver::OnDownloadFileCompleted( } } +void AutomationProviderDownloadUpdatedObserver::OnDownloadUpdated( + DownloadItem* download) { + // If this observer is watching for open, only send the reply if the download + // has been auto-opened. + if (wait_for_open_ && !download->auto_opened()) + return; + + download->RemoveObserver(this); + scoped_ptr return_value( + provider_->GetDictionaryFromDownloadItem(download)); + AutomationJSONReply(provider_, reply_message_).SendSuccess( + return_value.get()); + delete this; +} + +void AutomationProviderDownloadUpdatedObserver::OnDownloadOpened( + DownloadItem* download) { + download->RemoveObserver(this); + scoped_ptr return_value( + provider_->GetDictionaryFromDownloadItem(download)); + AutomationJSONReply(provider_, reply_message_).SendSuccess( + return_value.get()); + delete this; +} + +void AutomationProviderDownloadModelChangedObserver::ModelChanged() { + AutomationJSONReply(provider_, reply_message_).SendSuccess(NULL); + download_manager_->RemoveObserver(this); + delete this; +} + void AutomationProviderHistoryObserver::HistoryQueryComplete( HistoryService::Handle request_handle, history::QueryResults* results) { -- cgit v1.1