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

Side by Side Diff: components/component_updater/default_component_installer.h

Issue 2483513002: Revert of Makes the component installers return a Result instead of a bool. (Closed)
Patch Set: 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_ 5 #ifndef COMPONENTS_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_
6 #define COMPONENTS_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_ 6 #define COMPONENTS_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 virtual bool SupportsGroupPolicyEnabledComponentUpdates() const = 0; 51 virtual bool SupportsGroupPolicyEnabledComponentUpdates() const = 0;
52 52
53 // Returns true if the network communication related to this component 53 // Returns true if the network communication related to this component
54 // must be encrypted. 54 // must be encrypted.
55 virtual bool RequiresNetworkEncryption() const = 0; 55 virtual bool RequiresNetworkEncryption() const = 0;
56 56
57 // OnCustomInstall is called during the installation process. Components that 57 // OnCustomInstall is called during the installation process. Components that
58 // require custom installation operations should implement them here. 58 // require custom installation operations should implement them here.
59 // Returns false if a custom operation failed, and true otherwise. 59 // Returns false if a custom operation failed, and true otherwise.
60 // Called only from a thread belonging to a blocking thread pool. 60 // Called only from a thread belonging to a blocking thread pool.
61 virtual update_client::CrxInstaller::Result OnCustomInstall( 61 virtual bool OnCustomInstall(const base::DictionaryValue& manifest,
62 const base::DictionaryValue& manifest, 62 const base::FilePath& install_dir) = 0;
63 const base::FilePath& install_dir) = 0;
64 63
65 // ComponentReady is called in two cases: 64 // ComponentReady is called in two cases:
66 // 1) After an installation is successfully completed. 65 // 1) After an installation is successfully completed.
67 // 2) During component registration if the component is already installed. 66 // 2) During component registration if the component is already installed.
68 // In both cases the install is verified before this is called. This method 67 // In both cases the install is verified before this is called. This method
69 // is guaranteed to be called before any observers of the component are 68 // is guaranteed to be called before any observers of the component are
70 // notified of a successful install, and is meant to support follow-on work 69 // notified of a successful install, and is meant to support follow-on work
71 // such as updating paths elsewhere in Chrome. Called on the UI thread. 70 // such as updating paths elsewhere in Chrome. Called on the UI thread.
72 // |version| is the version of the component. 71 // |version| is the version of the component.
73 // |install_dir| is the path to the install directory for this version. 72 // |install_dir| is the path to the install directory for this version.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 DefaultComponentInstaller( 108 DefaultComponentInstaller(
110 std::unique_ptr<ComponentInstallerTraits> installer_traits); 109 std::unique_ptr<ComponentInstallerTraits> installer_traits);
111 110
112 // Registers the component for update checks and installs. 111 // Registers the component for update checks and installs.
113 // The passed |callback| will be called once the initial check for installed 112 // The passed |callback| will be called once the initial check for installed
114 // versions is done and the component has been registered. 113 // versions is done and the component has been registered.
115 void Register(ComponentUpdateService* cus, const base::Closure& callback); 114 void Register(ComponentUpdateService* cus, const base::Closure& callback);
116 115
117 // Overridden from ComponentInstaller: 116 // Overridden from ComponentInstaller:
118 void OnUpdateError(int error) override; 117 void OnUpdateError(int error) override;
119 update_client::CrxInstaller::Result Install( 118 bool Install(const base::DictionaryValue& manifest,
120 const base::DictionaryValue& manifest, 119 const base::FilePath& unpack_path) override;
121 const base::FilePath& unpack_path) override;
122 bool GetInstalledFile(const std::string& file, 120 bool GetInstalledFile(const std::string& file,
123 base::FilePath* installed_file) override; 121 base::FilePath* installed_file) override;
124 // Only user-level component installations can be uninstalled. 122 // Only user-level component installations can be uninstalled.
125 bool Uninstall() override; 123 bool Uninstall() override;
126 124
127 private: 125 private:
128 ~DefaultComponentInstaller() override; 126 ~DefaultComponentInstaller() override;
129 127
130 // If there is a installation of the component set up alongside Chrome's 128 // If there is a installation of the component set up alongside Chrome's
131 // files (as opposed to in the user data directory), sets current_* to the 129 // files (as opposed to in the user data directory), sets current_* to the
132 // values associated with that installation and returns true; otherwise, 130 // values associated with that installation and returns true; otherwise,
133 // returns false. 131 // returns false.
134 bool FindPreinstallation(const base::FilePath& root); 132 bool FindPreinstallation(const base::FilePath& root);
135 update_client::CrxInstaller::Result InstallHelper( 133 bool InstallHelper(const base::DictionaryValue& manifest,
136 const base::DictionaryValue& manifest, 134 const base::FilePath& unpack_path,
137 const base::FilePath& unpack_path, 135 const base::FilePath& install_path);
138 const base::FilePath& install_path);
139 void StartRegistration(ComponentUpdateService* cus); 136 void StartRegistration(ComponentUpdateService* cus);
140 void FinishRegistration(ComponentUpdateService* cus, 137 void FinishRegistration(ComponentUpdateService* cus,
141 const base::Closure& callback); 138 const base::Closure& callback);
142 void ComponentReady(std::unique_ptr<base::DictionaryValue> manifest); 139 void ComponentReady(std::unique_ptr<base::DictionaryValue> manifest);
143 void UninstallOnTaskRunner(); 140 void UninstallOnTaskRunner();
144 141
145 base::FilePath current_install_dir_; 142 base::FilePath current_install_dir_;
146 base::Version current_version_; 143 base::Version current_version_;
147 std::string current_fingerprint_; 144 std::string current_fingerprint_;
148 std::unique_ptr<base::DictionaryValue> current_manifest_; 145 std::unique_ptr<base::DictionaryValue> current_manifest_;
149 std::unique_ptr<ComponentInstallerTraits> installer_traits_; 146 std::unique_ptr<ComponentInstallerTraits> installer_traits_;
150 scoped_refptr<base::SequencedTaskRunner> task_runner_; 147 scoped_refptr<base::SequencedTaskRunner> task_runner_;
151 148
152 // Used to post responses back to the main thread. Initialized on the main 149 // Used to post responses back to the main thread. Initialized on the main
153 // loop but accessed from the task runner. 150 // loop but accessed from the task runner.
154 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; 151 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
155 152
156 base::ThreadChecker thread_checker_; 153 base::ThreadChecker thread_checker_;
157 154
158 DISALLOW_COPY_AND_ASSIGN(DefaultComponentInstaller); 155 DISALLOW_COPY_AND_ASSIGN(DefaultComponentInstaller);
159 }; 156 };
160 157
161 } // namespace component_updater 158 } // namespace component_updater
162 159
163 #endif // COMPONENTS_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_ 160 #endif // COMPONENTS_COMPONENT_UPDATER_DEFAULT_COMPONENT_INSTALLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698