summaryrefslogtreecommitdiff
path: root/chrome/installer
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-05-13 16:52:09 +0100
committerTorne (Richard Coles) <torne@google.com>2013-05-13 16:52:09 +0100
commitb2df76ea8fec9e32f6f3718986dba0d95315b29c (patch)
tree0182623e854b794f7307829abf4be16435a0193a /chrome/installer
parent121d6d4bf5931d9b1dbc0b9a262f6c609440f6c7 (diff)
downloadchromium_org-b2df76ea8fec9e32f6f3718986dba0d95315b29c.tar.gz
Merge from Chromium at DEPS revision r199464
This commit was generated by merge_to_master.py. Change-Id: Ic3d1f97a4fb4edd1e6ed66a70b5040da1622b5a9
Diffstat (limited to 'chrome/installer')
-rw-r--r--chrome/installer/setup/install_worker.cc15
-rw-r--r--chrome/installer/setup/uninstall.cc21
-rw-r--r--chrome/installer/util/browser_distribution.cc4
-rw-r--r--chrome/installer/util/browser_distribution.h2
-rw-r--r--chrome/installer/util/chrome_app_host_distribution.cc4
-rw-r--r--chrome/installer/util/chrome_app_host_distribution.h2
-rw-r--r--chrome/installer/util/chrome_frame_distribution.cc4
-rw-r--r--chrome/installer/util/chrome_frame_distribution.h2
-rw-r--r--chrome/installer/util/google_chrome_distribution.cc4
-rw-r--r--chrome/installer/util/google_chrome_distribution.h2
-rw-r--r--chrome/installer/util/google_chrome_distribution_dummy.cc5
11 files changed, 36 insertions, 29 deletions
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index 5450e32947..c92219032b 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -1223,6 +1223,21 @@ void AddInstallWorkItems(const InstallationState& original_state,
install_list);
}
+ // TODO(huangs): Implement actual migration code and remove the hack below.
+ // If installing Chrome without the legacy stand-alone App Launcher (to be
+ // handled later), add "shadow" App Launcher registry keys so Google Update
+ // would recognize the "dr" value in the App Launcher ClientState key.
+ // Checking .is_multi_install() excludes Chrome Canary and stand-alone Chrome.
+ if (installer_state.is_multi_install() &&
+ installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) &&
+ !installer_state.FindProduct(BrowserDistribution::CHROME_APP_HOST)) {
+ BrowserDistribution* shadow_app_launcher_dist =
+ BrowserDistribution::GetSpecificDistribution(
+ BrowserDistribution::CHROME_APP_HOST);
+ AddVersionKeyWorkItems(root, shadow_app_launcher_dist, new_version,
+ add_language_identifier, install_list);
+ }
+
// Add any remaining work items that involve special settings for
// each product.
AddProductSpecificWorkItems(original_state, installer_state, setup_path,
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index 295028c86d..e86a867a5b 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -24,6 +24,7 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths_internal.h"
#include "chrome/common/chrome_result_codes.h"
+#include "chrome/installer/launcher_support/chrome_launcher_support.h"
#include "chrome/installer/setup/install.h"
#include "chrome/installer/setup/install_worker.h"
#include "chrome/installer/setup/setup_constants.h"
@@ -1231,6 +1232,26 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
// Notify the shell that associations have changed since Chrome was likely
// unregistered.
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
+
+ // TODO(huangs): Implement actual migration code and remove the hack below.
+ // Remove the "shadow" App Launcher registry keys.
+ if (installer_state.is_multi_install()) {
+ // If we're not uninstalling the legacy App Launcher, and if it was
+ // not installed in the first place, then delete the "shadow" keys.
+ chrome_launcher_support::InstallationState level_to_check =
+ installer_state.system_install() ?
+ chrome_launcher_support::INSTALLED_AT_SYSTEM_LEVEL :
+ chrome_launcher_support::INSTALLED_AT_USER_LEVEL;
+ bool has_legacy_app_launcher = level_to_check ==
+ chrome_launcher_support::GetAppLauncherInstallationState();
+ if (!has_legacy_app_launcher) {
+ BrowserDistribution* shadow_app_launcher_dist =
+ BrowserDistribution::GetSpecificDistribution(
+ BrowserDistribution::CHROME_APP_HOST);
+ InstallUtil::DeleteRegistryKey(reg_root,
+ shadow_app_launcher_dist->GetVersionKey());
+ }
+ }
}
if (product.is_chrome_frame()) {
diff --git a/chrome/installer/util/browser_distribution.cc b/chrome/installer/util/browser_distribution.cc
index 427d5200a9..4f711419db 100644
--- a/chrome/installer/util/browser_distribution.cc
+++ b/chrome/installer/util/browser_distribution.cc
@@ -196,10 +196,6 @@ string16 BrowserDistribution::GetStateMediumKey() {
return L"Software\\Chromium";
}
-string16 BrowserDistribution::GetStatsServerURL() {
- return L"";
-}
-
std::string BrowserDistribution::GetNetworkStatsServer() const {
return "";
}
diff --git a/chrome/installer/util/browser_distribution.h b/chrome/installer/util/browser_distribution.h
index b1a61499ef..d1459ff04f 100644
--- a/chrome/installer/util/browser_distribution.h
+++ b/chrome/installer/util/browser_distribution.h
@@ -78,8 +78,6 @@ class BrowserDistribution {
virtual string16 GetStateMediumKey();
- virtual string16 GetStatsServerURL();
-
virtual std::string GetNetworkStatsServer() const;
virtual std::string GetHttpPipeliningTestServer() const;
diff --git a/chrome/installer/util/chrome_app_host_distribution.cc b/chrome/installer/util/chrome_app_host_distribution.cc
index 3dfa5156d8..4ff30be22c 100644
--- a/chrome/installer/util/chrome_app_host_distribution.cc
+++ b/chrome/installer/util/chrome_app_host_distribution.cc
@@ -96,10 +96,6 @@ string16 ChromeAppHostDistribution::GetStateMediumKey() {
return key;
}
-string16 ChromeAppHostDistribution::GetStatsServerURL() {
- return L"https://clients4.google.com/firefox/metrics/collect";
-}
-
std::string ChromeAppHostDistribution::GetNetworkStatsServer() const {
return chrome_common_net::kEchoTestServerLocation;
}
diff --git a/chrome/installer/util/chrome_app_host_distribution.h b/chrome/installer/util/chrome_app_host_distribution.h
index 1bf744a4d6..5648abde7f 100644
--- a/chrome/installer/util/chrome_app_host_distribution.h
+++ b/chrome/installer/util/chrome_app_host_distribution.h
@@ -37,8 +37,6 @@ class ChromeAppHostDistribution : public BrowserDistribution {
virtual string16 GetStateMediumKey() OVERRIDE;
- virtual string16 GetStatsServerURL() OVERRIDE;
-
virtual std::string GetNetworkStatsServer() const OVERRIDE;
virtual std::string GetHttpPipeliningTestServer() const OVERRIDE;
diff --git a/chrome/installer/util/chrome_frame_distribution.cc b/chrome/installer/util/chrome_frame_distribution.cc
index 712ef3a702..1db0446413 100644
--- a/chrome/installer/util/chrome_frame_distribution.cc
+++ b/chrome/installer/util/chrome_frame_distribution.cc
@@ -84,10 +84,6 @@ string16 ChromeFrameDistribution::GetStateMediumKey() {
return key;
}
-string16 ChromeFrameDistribution::GetStatsServerURL() {
- return L"https://clients4.google.com/firefox/metrics/collect";
-}
-
std::string ChromeFrameDistribution::GetNetworkStatsServer() const {
return chrome_common_net::kEchoTestServerLocation;
}
diff --git a/chrome/installer/util/chrome_frame_distribution.h b/chrome/installer/util/chrome_frame_distribution.h
index 2b76265cf4..ff49036b03 100644
--- a/chrome/installer/util/chrome_frame_distribution.h
+++ b/chrome/installer/util/chrome_frame_distribution.h
@@ -35,8 +35,6 @@ class ChromeFrameDistribution : public BrowserDistribution {
virtual string16 GetStateMediumKey() OVERRIDE;
- virtual string16 GetStatsServerURL() OVERRIDE;
-
virtual std::string GetNetworkStatsServer() const OVERRIDE;
virtual std::string GetHttpPipeliningTestServer() const OVERRIDE;
diff --git a/chrome/installer/util/google_chrome_distribution.cc b/chrome/installer/util/google_chrome_distribution.cc
index c8126ecb65..14ce3099cb 100644
--- a/chrome/installer/util/google_chrome_distribution.cc
+++ b/chrome/installer/util/google_chrome_distribution.cc
@@ -178,10 +178,6 @@ string16 GoogleChromeDistribution::GetStateMediumKey() {
return key;
}
-string16 GoogleChromeDistribution::GetStatsServerURL() {
- return L"https://clients4.google.com/firefox/metrics/collect";
-}
-
std::string GoogleChromeDistribution::GetNetworkStatsServer() const {
return chrome_common_net::kEchoTestServerLocation;
}
diff --git a/chrome/installer/util/google_chrome_distribution.h b/chrome/installer/util/google_chrome_distribution.h
index aa17d250eb..f4cd2f0338 100644
--- a/chrome/installer/util/google_chrome_distribution.h
+++ b/chrome/installer/util/google_chrome_distribution.h
@@ -56,8 +56,6 @@ class GoogleChromeDistribution : public BrowserDistribution {
virtual string16 GetStateMediumKey() OVERRIDE;
- virtual string16 GetStatsServerURL() OVERRIDE;
-
virtual std::string GetNetworkStatsServer() const OVERRIDE;
virtual std::string GetHttpPipeliningTestServer() const OVERRIDE;
diff --git a/chrome/installer/util/google_chrome_distribution_dummy.cc b/chrome/installer/util/google_chrome_distribution_dummy.cc
index 306a1db95a..623870c7ea 100644
--- a/chrome/installer/util/google_chrome_distribution_dummy.cc
+++ b/chrome/installer/util/google_chrome_distribution_dummy.cc
@@ -86,11 +86,6 @@ string16 GoogleChromeDistribution::GetStateMediumKey() {
return string16();
}
-string16 GoogleChromeDistribution::GetStatsServerURL() {
- NOTREACHED();
- return string16();
-}
-
std::string GoogleChromeDistribution::GetNetworkStatsServer() const {
NOTREACHED();
return std::string();