Index: components/update_client/crx_update_item.h |
diff --git a/components/update_client/crx_update_item.h b/components/update_client/crx_update_item.h |
index 35b7e5a6593c62fd5d9aad40fddf7d8d7c075e6a..2882a8421c9cff719a59c247357e47a01e6c41b2 100644 |
--- a/components/update_client/crx_update_item.h |
+++ b/components/update_client/crx_update_item.h |
@@ -18,65 +18,12 @@ |
namespace update_client { |
-// This is the one and only per-item state structure. Designed to be hosted |
-// in a std::vector or a std::list. The two main members are |component| |
-// which is supplied by the the component updater client and |status| which |
-// is modified as the item is processed by the update pipeline. The expected |
-// transition graph is: |
-// |
-// on-demand on-demand |
-// +---------------------------> kNew <--------------+-------------+ |
-// | | | | |
-// | V | | |
-// | +--------------------> kChecking -<-------+---|---<-----+ | |
-// | | | | | | | |
-// | | error V no | | | | |
-// kNoUpdate <---------------- [update?] ->---- kUpToDate kUpdated |
-// ^ | ^ |
-// | yes | | |
-// | diff=false V | |
-// | +-----------> kCanUpdate | |
-// | | | | |
-// | | V no | |
-// | | [differential update?]->----+ | |
-// | | | | | |
-// | | yes | | | |
-// | | error V | | |
-// | +---------<- kDownloadingDiff | | |
-// | | | | | |
-// | | | | | |
-// | | error V | | |
-// | +---------<- kUpdatingDiff ->--------|-----------+ success |
-// | | | |
-// | error V | |
-// +----------------------------------------- kDownloading | |
-// | | | |
-// | error V | |
-// +------------------------------------------ kUpdating ->----+ success |
-// |
-// TODO(sorin): this data structure will be further refactored once |
-// the new update service is in place. For the time being, it remains as-is, |
-// since it is used by the old component update service. |
struct CrxUpdateItem { |
- enum class State { |
- kNew, |
- kChecking, |
- kCanUpdate, |
- kDownloadingDiff, |
- kDownloading, |
- kDownloaded, |
- kUpdatingDiff, |
- kUpdating, |
- kUpdated, |
- kUpToDate, |
- kNoUpdate, |
- kUninstalled, |
- kLastStatus |
- }; |
+ CrxUpdateItem(); |
+ CrxUpdateItem(const CrxUpdateItem& other); |
+ ~CrxUpdateItem(); |
- // Call CrxUpdateService::ChangeItemState to change |status|. The function may |
- // enforce conditions or notify observers of the change. |
- State state; |
+ ComponentState state; |
std::string id; |
CrxComponent component; |
@@ -84,63 +31,10 @@ struct CrxUpdateItem { |
// Time when an update check for this CRX has happened. |
base::TimeTicks last_check; |
- // Time when the update of this CRX has begun. |
- base::TimeTicks update_begin; |
- |
- // A component can be made available for download from several urls. |
- std::vector<GURL> crx_urls; |
- std::vector<GURL> crx_diffurls; |
- |
- // The cryptographic hash values for the component payload. |
- std::string hash_sha256; |
- std::string hashdiff_sha256; |
- |
- // The from/to version and fingerprint values. |
- base::Version previous_version; |
base::Version next_version; |
- std::string previous_fp; |
std::string next_fp; |
- |
- // True if the current update check cycle is on-demand. |
- bool on_demand; |
- |
- // True if the differential update failed for any reason. |
- bool diff_update_failed; |
- |
- // The error information for full and differential updates. |
- // The |error_category| contains a hint about which module in the component |
- // updater generated the error. The |error_code| constains the error and |
- // the |extra_code1| usually contains a system error, but it can contain |
- // any extended information that is relevant to either the category or the |
- // error itself. |
- int error_category; |
- int error_code; |
- int extra_code1; |
- int diff_error_category; |
- int diff_error_code; |
- int diff_extra_code1; |
- |
- std::vector<CrxDownloader::DownloadMetrics> download_metrics; |
- |
- CrxUpdateItem(); |
- CrxUpdateItem(const CrxUpdateItem& other); |
- ~CrxUpdateItem(); |
- |
- // Function object used to find a specific component. |
- class FindById { |
- public: |
- explicit FindById(const std::string& id) : id_(id) {} |
- |
- bool operator()(CrxUpdateItem* item) const { return item->id == id_; } |
- |
- private: |
- const std::string& id_; |
- }; |
}; |
-using IdToCrxUpdateItemMap = |
- std::map<std::string, std::unique_ptr<CrxUpdateItem>>; |
- |
} // namespace update_client |
#endif // COMPONENTS_UPDATE_CLIENT_CRX_UPDATE_ITEM_H_ |