summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/chrome_frame_distribution.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/installer/util/chrome_frame_distribution.cc')
-rw-r--r--chrome/installer/util/chrome_frame_distribution.cc42
1 files changed, 37 insertions, 5 deletions
diff --git a/chrome/installer/util/chrome_frame_distribution.cc b/chrome/installer/util/chrome_frame_distribution.cc
index 896cd87..02ec281 100644
--- a/chrome/installer/util/chrome_frame_distribution.cc
+++ b/chrome/installer/util/chrome_frame_distribution.cc
@@ -12,9 +12,10 @@
#include <string>
#include "base/string_util.h"
-#include "chrome/installer/util/l10n_string_util.h"
#include "chrome/installer/util/google_update_constants.h"
#include "chrome/installer/util/google_update_settings.h"
+#include "chrome/installer/util/l10n_string_util.h"
+#include "chrome/installer/util/master_preferences.h"
#include "installer_util_strings.h" // NOLINT
@@ -22,6 +23,13 @@ namespace {
const wchar_t kChromeFrameGuid[] = L"{8BA986DA-5100-405E-AA35-86F34A02ACBF}";
}
+ChromeFrameDistribution::ChromeFrameDistribution(
+ const installer_util::MasterPreferences& prefs)
+ : BrowserDistribution(prefs) {
+ type_ = BrowserDistribution::CHROME_FRAME;
+ ceee_ = prefs.install_ceee();
+}
+
std::wstring ChromeFrameDistribution::GetAppGuid() {
return kChromeFrameGuid;
}
@@ -78,7 +86,6 @@ std::wstring ChromeFrameDistribution::GetStatsServerURL() {
return L"https://clients4.google.com/firefox/metrics/collect";
}
-
std::wstring ChromeFrameDistribution::GetUninstallLinkName() {
return L"Uninstall Chrome Frame";
}
@@ -106,7 +113,32 @@ void ChromeFrameDistribution::UpdateDiffInstallStatus(bool system_install,
kChromeFrameGuid);
}
-FilePath::StringType ChromeFrameDistribution::GetKeyFile() {
- // TODO(tommi): Implement this for CEEE too.
- return installer_util::kChromeFrameDll;
+std::vector<FilePath> ChromeFrameDistribution::GetKeyFiles() {
+ std::vector<FilePath> key_files;
+ key_files.push_back(FilePath(installer_util::kChromeFrameDll));
+ if (ceee_) {
+ key_files.push_back(FilePath(installer_util::kCeeeIeDll));
+ key_files.push_back(FilePath(installer_util::kCeeeBrokerExe));
+ }
+ return key_files;
+}
+
+std::vector<FilePath> ChromeFrameDistribution::GetComDllList() {
+ std::vector<FilePath> dll_list;
+ dll_list.push_back(FilePath(installer_util::kChromeFrameDll));
+ if (ceee_) {
+ dll_list.push_back(FilePath(installer_util::kCeeeInstallHelperDll));
+ dll_list.push_back(FilePath(installer_util::kCeeeIeDll));
+ }
+ return dll_list;
+}
+
+void ChromeFrameDistribution::AppendUninstallCommandLineFlags(
+ CommandLine* cmd_line) {
+ DCHECK(cmd_line);
+ cmd_line->AppendSwitch(installer_util::switches::kDeleteProfile);
+ cmd_line->AppendSwitch(installer_util::switches::kChromeFrame);
+ if (ceee_) {
+ cmd_line->AppendSwitch(installer_util::switches::kCeee);
+ }
}