Index: content/public/browser/download_manager.h |
diff --git a/content/public/browser/download_manager.h b/content/public/browser/download_manager.h |
index 09628b0268a217e273cd1e564cbe5d1a03d1422e..70056d3b4c33ebd2680319b353e0335f9214ac4f 100644 |
--- a/content/public/browser/download_manager.h |
+++ b/content/public/browser/download_manager.h |
@@ -79,9 +79,22 @@ class CONTENT_EXPORT DownloadManager |
// to the DownloadManager's collection of downloads. |
class CONTENT_EXPORT Observer { |
public: |
+ // A DownloadItem was created. Useful methods on the item that are |
+ // guaranteed to work as advertised include GetId(), AddObserver(), |
+ // SetExternalData(), GetURL(). The item is guaranteed to be accessible via |
+ // DownloadManager::GetDownload(). No other guarantees are made about its |
+ // state: it may have just been loaded from history, it may be an active |
+ // download, or it may be a SavePage download, it may or may not already be |
+ // persisted. If a consumer needs a DownloadItem's filename, it should wait |
+ // for an OnDownloadUpdated() when the filename is not empty(). When the |
+ // history is loaded on startup, this method may be called many (thousands) |
+ // of times at once. |
+ virtual void OnDownloadCreated( |
+ DownloadManager* manager, DownloadItem* item) {} |
+ |
// New or deleted download, observers should query us for the current set |
// of downloads. |
- virtual void ModelChanged(DownloadManager* manager) = 0; |
+ virtual void ModelChanged(DownloadManager* manager) {} |
// Called when the DownloadManager is being destroyed to prevent Observers |
// from calling back to a stale pointer. |