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

Side by Side Diff: chrome/installer/util/installer_state.h

Issue 7353030: Cause new_chrome.exe to always be written if Chrome Frame is in use, resulting in updates being d... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 months 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 | Annotate | Revision Log
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/util/installer_state.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_ 5 #ifndef CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_
6 #define CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_ 6 #define CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 Operation operation() const { return operation_; } 98 Operation operation() const { return operation_; }
99 99
100 // A convenience method returning level() == SYSTEM_LEVEL. 100 // A convenience method returning level() == SYSTEM_LEVEL.
101 // TODO(grt): Eradicate the bool in favor of the enum. 101 // TODO(grt): Eradicate the bool in favor of the enum.
102 bool system_install() const; 102 bool system_install() const;
103 103
104 // A convenience method returning package_type() == MULTI_PACKAGE. 104 // A convenience method returning package_type() == MULTI_PACKAGE.
105 // TODO(grt): Eradicate the bool in favor of the enum. 105 // TODO(grt): Eradicate the bool in favor of the enum.
106 bool is_multi_install() const; 106 bool is_multi_install() const;
107 107
108 // Returns whether or not there is currently a Chrome Frame instance running.
109 // Note that there isn't a mechanism to lock Chrome Frame in place, so Chrome
110 // Frame may either exit or start up after this is called.
111 bool is_chrome_frame_running() const { return is_chrome_frame_running_; }
112
108 // The full path to the place where the operand resides. 113 // The full path to the place where the operand resides.
109 const FilePath& target_path() const { return target_path_; } 114 const FilePath& target_path() const { return target_path_; }
110 115
111 // True if the "msi" preference is set or if a product with the "msi" state 116 // True if the "msi" preference is set or if a product with the "msi" state
112 // flag is set is to be operated on. 117 // flag is set is to be operated on.
113 bool is_msi() const { return msi_; } 118 bool is_msi() const { return msi_; }
114 119
115 // True if the --verbose-logging command-line flag is set or if the 120 // True if the --verbose-logging command-line flag is set or if the
116 // verbose_logging master preferences option is true. 121 // verbose_logging master preferences option is true.
117 bool verbose_logging() const { return verbose_logging_; } 122 bool verbose_logging() const { return verbose_logging_; }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 // (FAILED_CUSTOM_ERROR) depending on whether |status| maps to success or not. 178 // (FAILED_CUSTOM_ERROR) depending on whether |status| maps to success or not.
174 // |status| itself is written to the InstallerError value. 179 // |status| itself is written to the InstallerError value.
175 // |string_resource_id|, if non-zero, identifies a localized string written to 180 // |string_resource_id|, if non-zero, identifies a localized string written to
176 // the InstallerResultUIString value. |launch_cmd|, if non-NULL and 181 // the InstallerResultUIString value. |launch_cmd|, if non-NULL and
177 // non-empty, is written to the InstallerSuccessLaunchCmdLine value. 182 // non-empty, is written to the InstallerSuccessLaunchCmdLine value.
178 void WriteInstallerResult(InstallStatus status, 183 void WriteInstallerResult(InstallStatus status,
179 int string_resource_id, 184 int string_resource_id,
180 const std::wstring* launch_cmd) const; 185 const std::wstring* launch_cmd) const;
181 186
182 protected: 187 protected:
188 static bool IsFileInUse(const FilePath& file);
189
183 FilePath GetDefaultProductInstallPath(BrowserDistribution* dist) const; 190 FilePath GetDefaultProductInstallPath(BrowserDistribution* dist) const;
184 bool CanAddProduct(const Product& product, const FilePath* product_dir) const; 191 bool CanAddProduct(const Product& product, const FilePath* product_dir) const;
185 Product* AddProductInDirectory(const FilePath* product_dir, 192 Product* AddProductInDirectory(const FilePath* product_dir,
186 scoped_ptr<Product>* product); 193 scoped_ptr<Product>* product);
187 Product* AddProductFromPreferences( 194 Product* AddProductFromPreferences(
188 BrowserDistribution::Type distribution_type, 195 BrowserDistribution::Type distribution_type,
189 const MasterPreferences& prefs, 196 const MasterPreferences& prefs,
190 const InstallationState& machine_state); 197 const InstallationState& machine_state);
191 bool IsMultiInstallUpdate(const MasterPreferences& prefs, 198 bool IsMultiInstallUpdate(const MasterPreferences& prefs,
192 const InstallationState& machine_state); 199 const InstallationState& machine_state);
200 bool DetectChromeFrameInUse(const InstallationState& machine_state);
193 201
194 // Sets this object's level and updates the root_key_ accordingly. 202 // Sets this object's level and updates the root_key_ accordingly.
195 void set_level(Level level); 203 void set_level(Level level);
196 204
197 // Sets this object's package type and updates the multi_package_distribution_ 205 // Sets this object's package type and updates the multi_package_distribution_
198 // accordingly. 206 // accordingly.
199 void set_package_type(PackageType type); 207 void set_package_type(PackageType type);
200 208
201 Operation operation_; 209 Operation operation_;
202 FilePath target_path_; 210 FilePath target_path_;
203 std::wstring state_key_; 211 std::wstring state_key_;
204 BrowserDistribution::Type state_type_; 212 BrowserDistribution::Type state_type_;
205 ScopedVector<Product> products_; 213 ScopedVector<Product> products_;
206 BrowserDistribution* multi_package_distribution_; 214 BrowserDistribution* multi_package_distribution_;
207 Level level_; 215 Level level_;
208 PackageType package_type_; 216 PackageType package_type_;
209 #if defined(OS_WIN) 217 #if defined(OS_WIN)
210 HKEY root_key_; 218 HKEY root_key_;
211 #endif 219 #endif
212 bool msi_; 220 bool msi_;
213 bool verbose_logging_; 221 bool verbose_logging_;
222 bool is_chrome_frame_running_;
214 223
215 private: 224 private:
216 DISALLOW_COPY_AND_ASSIGN(InstallerState); 225 DISALLOW_COPY_AND_ASSIGN(InstallerState);
217 }; // class InstallerState 226 }; // class InstallerState
218 227
219 } // namespace installer 228 } // namespace installer
220 229
221 #endif // CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_ 230 #endif // CHROME_INSTALLER_UTIL_INSTALLER_STATE_H_
OLDNEW
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/util/installer_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698