summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider_observers.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/automation/automation_provider_observers.h')
-rw-r--r--chrome/browser/automation/automation_provider_observers.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/chrome/browser/automation/automation_provider_observers.h b/chrome/browser/automation/automation_provider_observers.h
index f0a264f..ec32e5f 100644
--- a/chrome/browser/automation/automation_provider_observers.h
+++ b/chrome/browser/automation/automation_provider_observers.h
@@ -622,6 +622,54 @@ class AutomationProviderDownloadItemObserver : public DownloadItem::Observer {
DISALLOW_COPY_AND_ASSIGN(AutomationProviderDownloadItemObserver);
};
+// Allows the automation provider to wait until the download has been updated
+// or opened.
+class AutomationProviderDownloadUpdatedObserver
+ : public DownloadItem::Observer {
+ public:
+ AutomationProviderDownloadUpdatedObserver(
+ AutomationProvider* provider,
+ IPC::Message* reply_message,
+ bool wait_for_open)
+ : provider_(provider),
+ reply_message_(reply_message),
+ wait_for_open_(wait_for_open) {}
+
+ virtual void OnDownloadUpdated(DownloadItem* download);
+ virtual void OnDownloadOpened(DownloadItem* download);
+ virtual void OnDownloadFileCompleted(DownloadItem* download) { }
+
+ private:
+ AutomationProvider* provider_;
+ IPC::Message* reply_message_;
+ bool wait_for_open_;
+
+ DISALLOW_COPY_AND_ASSIGN(AutomationProviderDownloadUpdatedObserver);
+};
+
+// Allows the automation provider to wait until the download model has changed
+// (because a new download has been added or removed).
+class AutomationProviderDownloadModelChangedObserver
+ : public DownloadManager::Observer {
+ public:
+ AutomationProviderDownloadModelChangedObserver(
+ AutomationProvider* provider,
+ IPC::Message* reply_message,
+ DownloadManager* download_manager)
+ : provider_(provider),
+ reply_message_(reply_message),
+ download_manager_(download_manager) {}
+
+ virtual void ModelChanged();
+
+ private:
+ AutomationProvider* provider_;
+ IPC::Message* reply_message_;
+ DownloadManager* download_manager_;
+
+ DISALLOW_COPY_AND_ASSIGN(AutomationProviderDownloadModelChangedObserver);
+};
+
// Allows the automation provider to wait for history queries to finish.
class AutomationProviderHistoryObserver {
public: