Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: components/update_client/action_update.h

Issue 2479633003: Makes the component installers return a Result instead of a bool. (Closed)
Patch Set: rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ 5 #ifndef COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_
6 #define COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ 6 #define COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 virtual void OnDownloadStart(CrxUpdateItem* item) = 0; 51 virtual void OnDownloadStart(CrxUpdateItem* item) = 0;
52 virtual void OnDownloadSuccess( 52 virtual void OnDownloadSuccess(
53 CrxUpdateItem* item, 53 CrxUpdateItem* item,
54 const CrxDownloader::Result& download_result) = 0; 54 const CrxDownloader::Result& download_result) = 0;
55 virtual void OnDownloadError( 55 virtual void OnDownloadError(
56 CrxUpdateItem* item, 56 CrxUpdateItem* item,
57 const CrxDownloader::Result& download_result) = 0; 57 const CrxDownloader::Result& download_result) = 0;
58 virtual void OnInstallStart(CrxUpdateItem* item) = 0; 58 virtual void OnInstallStart(CrxUpdateItem* item) = 0;
59 virtual void OnInstallSuccess(CrxUpdateItem* item) = 0; 59 virtual void OnInstallSuccess(CrxUpdateItem* item) = 0;
60 virtual void OnInstallError(CrxUpdateItem* item, 60 virtual void OnInstallError(CrxUpdateItem* item,
61 UnpackerError error, 61 ErrorCategory error_category,
62 int error,
62 int extended_error) = 0; 63 int extended_error) = 0;
63 64
64 void StartDownload(CrxUpdateItem* item); 65 void StartDownload(CrxUpdateItem* item);
65 void DownloadComplete(const std::string& id, 66 void DownloadComplete(const std::string& id,
66 const CrxDownloader::Result& download_result); 67 const CrxDownloader::Result& download_result);
67 68
68 // Called when progress is being made downloading a CRX. The progress may 69 // Called when progress is being made downloading a CRX. The progress may
69 // not monotonically increase due to how the CRX downloader switches between 70 // not monotonically increase due to how the CRX downloader switches between
70 // different downloaders and fallback urls. 71 // different downloaders and fallback urls.
71 void DownloadProgress(const std::string& id, 72 void DownloadProgress(const std::string& id,
72 const CrxDownloader::Result& download_result); 73 const CrxDownloader::Result& download_result);
73 74
74 void StartInstall(CrxUpdateItem* item, const base::FilePath& crx_path); 75 void StartInstall(CrxUpdateItem* item, const base::FilePath& crx_path);
75 void InstallComplete(const std::string& id, 76 void InstallComplete(const std::string& id,
76 UnpackerError error, 77 ErrorCategory error_category,
78 int error,
77 int extended_error); 79 int extended_error);
78 80
79 void StartUnpackOnBlockingTaskRunner(CrxUpdateItem* item, 81 void StartUnpackOnBlockingTaskRunner(CrxUpdateItem* item,
80 const base::FilePath& crx_path); 82 const base::FilePath& crx_path);
81 void UnpackCompleteOnBlockingTaskRunner( 83 void UnpackCompleteOnBlockingTaskRunner(
82 CrxUpdateItem* item, 84 CrxUpdateItem* item,
83 const base::FilePath& crx_path, 85 const base::FilePath& crx_path,
84 const ComponentUnpacker::Result& result); 86 const ComponentUnpacker::Result& result);
85 87
86 void StartInstallOnBlockingTaskRunner(CrxUpdateItem* item, 88 void StartInstallOnBlockingTaskRunner(CrxUpdateItem* item,
87 const base::FilePath& crx_path, 89 const base::FilePath& crx_path,
88 const base::FilePath& unpack_path); 90 const base::FilePath& unpack_path);
89 void InstallCompleteOnBlockingTaskRunner(CrxUpdateItem* item, 91 void InstallCompleteOnBlockingTaskRunner(CrxUpdateItem* item,
90 const base::FilePath& crx_path, 92 const base::FilePath& crx_path,
91 UnpackerError error, 93 ErrorCategory error_category,
94 int error,
92 int extended_error); 95 int extended_error);
93 96
94 // TODO(sorin): make this function return a result data type to convey 97 CrxInstaller::Result DoInstall(CrxUpdateItem* item,
95 // extended error information. 98 const base::FilePath& crx_path,
96 UnpackerError DoInstall(CrxUpdateItem* item, 99 const base::FilePath& unpack_path);
97 const base::FilePath& crx_path,
98 const base::FilePath& unpack_path);
99 100
100 // Downloads updates for one CRX id only. 101 // Downloads updates for one CRX id only.
101 std::unique_ptr<CrxDownloader> crx_downloader_; 102 std::unique_ptr<CrxDownloader> crx_downloader_;
102 103
103 // Unpacks one CRX. 104 // Unpacks one CRX.
104 scoped_refptr<ComponentUnpacker> unpacker_; 105 scoped_refptr<ComponentUnpacker> unpacker_;
105 106
106 DISALLOW_COPY_AND_ASSIGN(ActionUpdate); 107 DISALLOW_COPY_AND_ASSIGN(ActionUpdate);
107 }; 108 };
108 109
(...skipping 12 matching lines...) Expand all
121 std::vector<GURL> GetUrls(const CrxUpdateItem* item) override; 122 std::vector<GURL> GetUrls(const CrxUpdateItem* item) override;
122 std::string GetHash(const CrxUpdateItem* item) override; 123 std::string GetHash(const CrxUpdateItem* item) override;
123 void OnDownloadStart(CrxUpdateItem* item) override; 124 void OnDownloadStart(CrxUpdateItem* item) override;
124 void OnDownloadSuccess(CrxUpdateItem* item, 125 void OnDownloadSuccess(CrxUpdateItem* item,
125 const CrxDownloader::Result& download_result) override; 126 const CrxDownloader::Result& download_result) override;
126 void OnDownloadError(CrxUpdateItem* item, 127 void OnDownloadError(CrxUpdateItem* item,
127 const CrxDownloader::Result& download_result) override; 128 const CrxDownloader::Result& download_result) override;
128 void OnInstallStart(CrxUpdateItem* item) override; 129 void OnInstallStart(CrxUpdateItem* item) override;
129 void OnInstallSuccess(CrxUpdateItem* item) override; 130 void OnInstallSuccess(CrxUpdateItem* item) override;
130 void OnInstallError(CrxUpdateItem* item, 131 void OnInstallError(CrxUpdateItem* item,
131 UnpackerError error, 132 ErrorCategory error_category,
133 int error,
132 int extended_error) override; 134 int extended_error) override;
133 135
134 DISALLOW_COPY_AND_ASSIGN(ActionUpdateDiff); 136 DISALLOW_COPY_AND_ASSIGN(ActionUpdateDiff);
135 }; 137 };
136 138
137 class ActionUpdateFull : public ActionUpdate { 139 class ActionUpdateFull : public ActionUpdate {
138 public: 140 public:
139 static std::unique_ptr<Action> Create(); 141 static std::unique_ptr<Action> Create();
140 142
141 private: 143 private:
142 ActionUpdateFull(); 144 ActionUpdateFull();
143 ~ActionUpdateFull() override; 145 ~ActionUpdateFull() override;
144 146
145 // ActionUpdate overrides. 147 // ActionUpdate overrides.
146 bool IsBackgroundDownload(const CrxUpdateItem* item) override; 148 bool IsBackgroundDownload(const CrxUpdateItem* item) override;
147 std::vector<GURL> GetUrls(const CrxUpdateItem* item) override; 149 std::vector<GURL> GetUrls(const CrxUpdateItem* item) override;
148 std::string GetHash(const CrxUpdateItem* item) override; 150 std::string GetHash(const CrxUpdateItem* item) override;
149 void OnDownloadStart(CrxUpdateItem* item) override; 151 void OnDownloadStart(CrxUpdateItem* item) override;
150 void OnDownloadSuccess(CrxUpdateItem* item, 152 void OnDownloadSuccess(CrxUpdateItem* item,
151 const CrxDownloader::Result& download_result) override; 153 const CrxDownloader::Result& download_result) override;
152 void OnDownloadError(CrxUpdateItem* item, 154 void OnDownloadError(CrxUpdateItem* item,
153 const CrxDownloader::Result& download_result) override; 155 const CrxDownloader::Result& download_result) override;
154 void OnInstallStart(CrxUpdateItem* item) override; 156 void OnInstallStart(CrxUpdateItem* item) override;
155 void OnInstallSuccess(CrxUpdateItem* item) override; 157 void OnInstallSuccess(CrxUpdateItem* item) override;
156 void OnInstallError(CrxUpdateItem* item, 158 void OnInstallError(CrxUpdateItem* item,
157 UnpackerError error, 159 ErrorCategory error_category,
160 int error,
158 int extended_error) override; 161 int extended_error) override;
159 162
160 DISALLOW_COPY_AND_ASSIGN(ActionUpdateFull); 163 DISALLOW_COPY_AND_ASSIGN(ActionUpdateFull);
161 }; 164 };
162 165
163 } // namespace update_client 166 } // namespace update_client
164 167
165 #endif // COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ 168 #endif // COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_
OLDNEW
« no previous file with comments | « components/component_updater/default_component_installer_unittest.cc ('k') | components/update_client/action_update.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698