Chromium Code Reviews| Index: components/offline_pages/core/downloads/download_ui_item.h |
| diff --git a/components/offline_pages/core/downloads/download_ui_item.h b/components/offline_pages/core/downloads/download_ui_item.h |
| index aea7cf5ccebb9b8e8dc8d698d049b4c4051117f6..18648cfa3b75dc423f06d5230079931accb484c7 100644 |
| --- a/components/offline_pages/core/downloads/download_ui_item.h |
| +++ b/components/offline_pages/core/downloads/download_ui_item.h |
| @@ -18,20 +18,54 @@ namespace offline_pages { |
| struct OfflinePageItem; |
| class SavePageRequest; |
| +// The abstract "download item" that may be a media file, a web page (together |
| +// with all the resources) or a PWA web package. This is a data bag that exposes |
| +// only bits potentially visible by the user, not the internal data. |
| struct DownloadUIItem { |
| public: |
| + // All Items start from PENDING and terminate at COMPLETED or are removed. |
| + // In sync with state values in Java OfflinePageDownloadItem class. |
| + enum DownloadState { |
|
fgorski
2017/01/20 17:03:02
Please, put this line above:
// GENERATED_JAVA_ENU
Dmitry Titov
2017/01/27 04:26:24
Nice advice, thanks!
|
| + PENDING = 0, |
| + DOWNLOADING = 1, |
| + PAUSED = 2, |
| + COMPLETED = 3, |
| + }; |
| + |
| + // The abstract notion of download progress. The |current| is always less |
|
fgorski
2017/01/20 17:03:02
less or "less or equal" ?
Dmitry Titov
2017/01/27 04:26:25
Removed the whole concept of current/max progress,
|
| + // than |max|, the download 'percentage' at any moment is current/max. |
| + // Note the |max| can change over time, as more resources are discovered from |
| + // the bytes already loaded (which is often happening when a web page is |
| + // loaded and more resources are found in the markup). |
| + // Typical implementation would use the byte count loaded (current) and total |
| + // of Content-Size: headers of resources that are already known to be part of |
| + // the page (or approximation if there is no exact data yet). |
| + struct DownloadProgress { |
| + DownloadProgress(int64_t current, int64_t max) |
| + : current(current), |
| + max(max) {} |
| + |
| + int64_t current; |
|
dewittj
2017/01/18 19:24:07
s/current/current_bytes/ (or whatever unit it repr
Dmitry Titov
2017/01/27 04:26:24
Done. Replaced with just byte counter.
|
| + int64_t max; |
| + }; |
| + |
| DownloadUIItem(); |
| explicit DownloadUIItem(const OfflinePageItem& page); |
| explicit DownloadUIItem(const SavePageRequest& request); |
| DownloadUIItem(const DownloadUIItem& other); |
| ~DownloadUIItem(); |
| - // Unique id. |
| + // Unique id. Not necesarily a GUID, may be any string unique in the Chrome |
| + // instance across all DownloadUIItem providers. |
|
dewittj
2017/01/18 19:24:07
I'm not sure across all providers is a requirement
Dmitry Titov
2017/01/27 04:26:25
Right, it is not. I believe we always keep a bit "
|
| std::string guid; |
|
dewittj
2017/01/18 19:24:07
nit: can we rename guid?
Dmitry Titov
2017/01/27 04:26:25
Looks like a separate CL... That CL can also start
|
| // The URL of the captured page. |
| GURL url; |
| + DownloadState download_state; |
| + |
| + DownloadProgress download_progress; |
| + |
| // The Title of the captured page, if any. It can be empty string either |
| // because the page is not yet fully loaded, or because it doesn't have any. |
| base::string16 title; |