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

Unified Diff: chrome/installer/util/shell_util.cc

Issue 2778223004: Move GetBaseAppName into install_static. (Closed)
Patch Set: sync to position 460686 Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/util/shell_util.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/shell_util.cc
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc
index 41385838a7041de47b7ca120bb3280b5098d16c9..f0fa26894a597f690ff554d9fa398fd9b8cf2618 100644
--- a/chrome/installer/util/shell_util.cc
+++ b/chrome/installer/util/shell_util.cc
@@ -104,6 +104,15 @@ base::string16 GetBrowserProgId(const base::string16& suffix) {
return chrome_html;
}
+// Returns the browser's application name. This application name will be
+// suffixed as is appropriate for the current install. This is the name that is
+// registered with Default Programs on Windows and that should thus be used to
+// "make chrome default" and such.
+base::string16 GetApplicationName(const base::FilePath& chrome_exe) {
+ return install_static::GetBaseAppName().append(
+ ShellUtil::GetCurrentInstallationSuffix(chrome_exe));
+}
+
// This class is used to initialize and cache a base 32 encoding of the md5 hash
// of this user's sid preceded by a dot.
// This is guaranteed to be unique on the machine and 27 characters long
@@ -198,21 +207,19 @@ struct ApplicationInfo {
// default browser, which isn't polite. |suffix| is the user-specific
// registration suffix; see GetUserSpecificDefaultBrowserSuffix in shell_util.h
// for details.
-base::string16 GetBrowserClientKey(BrowserDistribution* dist,
- const base::string16& suffix) {
+base::string16 GetBrowserClientKey(const base::string16& suffix) {
DCHECK(suffix.empty() || suffix[0] == L'.');
return base::string16(ShellUtil::kRegStartMenuInternet)
.append(1, L'\\')
- .append(dist->GetBaseAppName())
+ .append(install_static::GetBaseAppName())
.append(suffix);
}
// Returns the Windows Default Programs capabilities key for Chrome. For
// example:
// "Software\Clients\StartMenuInternet\Chromium[.user]\Capabilities".
-base::string16 GetCapabilitiesKey(BrowserDistribution* dist,
- const base::string16& suffix) {
- return GetBrowserClientKey(dist, suffix).append(L"\\Capabilities");
+base::string16 GetCapabilitiesKey(const base::string16& suffix) {
+ return GetBrowserClientKey(suffix).append(L"\\Capabilities");
}
// DelegateExecute ProgId. Needed for Chrome Metro in Windows 8. This is only
@@ -349,9 +356,6 @@ void GetChromeProgIdEntries(BrowserDistribution* dist,
const base::FilePath& chrome_exe,
const base::string16& suffix,
ScopedVector<RegistryEntry>* entries) {
- // Assert that this is only called with the one relevant distribution.
- // TODO(grt): Remove this when BrowserDistribution goes away.
- DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
int chrome_icon_index = install_static::GetIconResourceIndex();
ApplicationInfo app_info;
@@ -394,13 +398,12 @@ void GetChromeProgIdEntries(BrowserDistribution* dist,
// This method returns a list of the registry entries needed to declare a
// capability of handling a protocol on Windows.
-void GetProtocolCapabilityEntries(BrowserDistribution* dist,
- const base::string16& suffix,
+void GetProtocolCapabilityEntries(const base::string16& suffix,
const base::string16& protocol,
ScopedVector<RegistryEntry>* entries) {
- entries->push_back(new RegistryEntry(
- GetCapabilitiesKey(dist, suffix).append(L"\\URLAssociations"), protocol,
- GetBrowserProgId(suffix)));
+ entries->push_back(
+ new RegistryEntry(GetCapabilitiesKey(suffix).append(L"\\URLAssociations"),
+ protocol, GetBrowserProgId(suffix)));
}
// This method returns a list of the registry entries required to register this
@@ -412,13 +415,12 @@ void GetShellIntegrationEntries(BrowserDistribution* dist,
const base::FilePath& chrome_exe,
const base::string16& suffix,
ScopedVector<RegistryEntry>* entries) {
- DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
const base::string16 icon_path(ShellUtil::FormatIconLocation(
chrome_exe, install_static::GetIconResourceIndex()));
const base::string16 quoted_exe_path(L"\"" + chrome_exe.value() + L"\"");
// Register for the Start Menu "Internet" link (pre-Win7).
- const base::string16 start_menu_entry(GetBrowserClientKey(dist, suffix));
+ const base::string16 start_menu_entry(GetBrowserClientKey(suffix));
// Register Chrome's display name.
// TODO(grt): http://crbug.com/75152 Also set LocalizedString; see
// http://msdn.microsoft.com/en-us/library/windows/desktop/cc144109(v=VS.85).aspx#registering_the_display_name
@@ -448,9 +450,10 @@ void GetShellIntegrationEntries(BrowserDistribution* dist,
entries->push_back(new RegistryEntry(install_info, L"IconsVisible", 1));
// Register with Default Programs.
- const base::string16 reg_app_name(dist->GetBaseAppName().append(suffix));
+ const base::string16 reg_app_name(
+ install_static::GetBaseAppName().append(suffix));
// Tell Windows where to find Chrome's Default Programs info.
- const base::string16 capabilities(GetCapabilitiesKey(dist, suffix));
+ const base::string16 capabilities(GetCapabilitiesKey(suffix));
entries->push_back(new RegistryEntry(ShellUtil::kRegRegisteredApplications,
reg_app_name, capabilities));
// Write out Chrome's Default Programs info.
@@ -588,11 +591,9 @@ void GetXPStyleUserProtocolEntries(const base::string16& protocol,
// needed to make Chromium default browser on XP. Some of these entries are
// irrelevant in recent versions of Windows, but we register them anyways as
// some legacy apps are hardcoded to lookup those values.
-void GetXPStyleDefaultBrowserUserEntries(BrowserDistribution* dist,
- const base::FilePath& chrome_exe,
+void GetXPStyleDefaultBrowserUserEntries(const base::FilePath& chrome_exe,
const base::string16& suffix,
ScopedVector<RegistryEntry>* entries) {
- DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
// File extension associations.
base::string16 html_prog_id(GetBrowserProgId(suffix));
for (int i = 0; ShellUtil::kDefaultFileAssociations[i] != NULL; i++) {
@@ -611,7 +612,7 @@ void GetXPStyleDefaultBrowserUserEntries(BrowserDistribution* dist,
// start->Internet shortcut.
base::string16 start_menu(ShellUtil::kRegStartMenuInternet);
- base::string16 app_name = dist->GetBaseAppName() + suffix;
+ base::string16 app_name = install_static::GetBaseAppName().append(suffix);
entries->push_back(new RegistryEntry(start_menu, app_name));
}
@@ -651,12 +652,11 @@ bool IsChromeRegistered(BrowserDistribution* dist,
// This method checks if Chrome is already registered on the local machine
// for the requested protocol. It just checks the one value required for this.
// See RegistryEntry::ExistsInRegistry for the behavior of |look_for_in|.
-bool IsChromeRegisteredForProtocol(BrowserDistribution* dist,
- const base::string16& suffix,
+bool IsChromeRegisteredForProtocol(const base::string16& suffix,
const base::string16& protocol,
uint32_t look_for_in) {
ScopedVector<RegistryEntry> entries;
- GetProtocolCapabilityEntries(dist, suffix, protocol, &entries);
+ GetProtocolCapabilityEntries(suffix, protocol, &entries);
return AreEntriesAsDesired(entries, look_for_in);
}
@@ -793,13 +793,9 @@ bool LaunchSelectDefaultProtocolHandlerDialog(const wchar_t* protocol) {
// points to |chrome_exe|. This should only be used at run-time to determine
// how Chrome is registered, not to know whether the registration is complete
// at install-time (IsChromeRegistered() can be used for that).
-bool QuickIsChromeRegistered(BrowserDistribution* dist,
- const base::FilePath& chrome_exe,
+bool QuickIsChromeRegistered(const base::FilePath& chrome_exe,
const base::string16& suffix,
RegistrationConfirmationLevel confirmation_level) {
- // Assert that this is only called with the one relevant distribution.
- // TODO(grt): Remove this when BrowserDistribution goes away.
- DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
// Get the appropriate key to look for based on the level desired.
base::string16 reg_key;
switch (confirmation_level) {
@@ -813,7 +809,7 @@ bool QuickIsChromeRegistered(BrowserDistribution* dist,
case CONFIRM_SHELL_REGISTRATION:
case CONFIRM_SHELL_REGISTRATION_IN_HKLM:
// Software\Clients\StartMenuInternet\Google Chrome|suffix|
- reg_key = GetBrowserClientKey(dist, suffix);
+ reg_key = GetBrowserClientKey(suffix);
break;
default:
NOTREACHED();
@@ -853,11 +849,10 @@ bool QuickIsChromeRegistered(BrowserDistribution* dist,
// |suffix| should then be appended to all Chrome properties that may conflict
// with other Chrome user-level installs.
// Returns true unless one of the underlying calls fails.
-bool GetInstallationSpecificSuffix(BrowserDistribution* dist,
- const base::FilePath& chrome_exe,
+bool GetInstallationSpecificSuffix(const base::FilePath& chrome_exe,
base::string16* suffix) {
if (!InstallUtil::IsPerUserInstall() ||
- QuickIsChromeRegistered(dist, chrome_exe, base::string16(),
+ QuickIsChromeRegistered(chrome_exe, base::string16(),
CONFIRM_SHELL_REGISTRATION)) {
// No suffix on system-level installs and user-level installs already
// registered with no suffix.
@@ -870,7 +865,7 @@ bool GetInstallationSpecificSuffix(BrowserDistribution* dist,
NOTREACHED();
return false;
}
- if (QuickIsChromeRegistered(dist, chrome_exe, *suffix,
+ if (QuickIsChromeRegistered(chrome_exe, *suffix,
CONFIRM_SHELL_REGISTRATION)) {
// Username suffix for installs that are suffixed as per the old-style.
return true;
@@ -890,14 +885,13 @@ HKEY DetermineRegistrationRoot(bool is_per_user) {
// Associates Chrome with supported protocols and file associations. This should
// not be required on Vista+ but since some applications still read
// Software\Classes\http key directly, we have to do this on Vista+ as well.
-bool RegisterChromeAsDefaultXPStyle(BrowserDistribution* dist,
- int shell_change,
+bool RegisterChromeAsDefaultXPStyle(int shell_change,
const base::FilePath& chrome_exe) {
bool ret = true;
ScopedVector<RegistryEntry> entries;
GetXPStyleDefaultBrowserUserEntries(
- dist, chrome_exe,
- ShellUtil::GetCurrentInstallationSuffix(dist, chrome_exe), &entries);
+ chrome_exe, ShellUtil::GetCurrentInstallationSuffix(chrome_exe),
+ &entries);
// Change the default browser for current user.
if ((shell_change & ShellUtil::CURRENT_USER) &&
@@ -921,10 +915,8 @@ bool RegisterChromeAsDefaultXPStyle(BrowserDistribution* dist,
// keys directly, we have to do this on Vista+ as well.
// See http://msdn.microsoft.com/library/aa767914.aspx for more details.
bool RegisterChromeAsDefaultProtocolClientXPStyle(
- BrowserDistribution* dist,
const base::FilePath& chrome_exe,
const base::string16& protocol) {
- DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
ScopedVector<RegistryEntry> entries;
const base::string16 chrome_open(
ShellUtil::GetChromeShellOpenCmd(chrome_exe));
@@ -1043,8 +1035,7 @@ ShellUtil::DefaultState ProbeCurrentDefaultHandlers(
return ShellUtil::UNKNOWN_DEFAULT;
base::string16 prog_id(install_static::GetProgIdPrefix());
- BrowserDistribution* dist = BrowserDistribution::GetDistribution();
- prog_id += ShellUtil::GetCurrentInstallationSuffix(dist, chrome_exe);
+ prog_id += ShellUtil::GetCurrentInstallationSuffix(chrome_exe);
for (size_t i = 0; i < num_protocols; ++i) {
base::win::ScopedCoMem<wchar_t> current_app;
@@ -1069,8 +1060,7 @@ ShellUtil::DefaultState ProbeAppIsDefaultHandlers(
if (FAILED(hr))
return ShellUtil::UNKNOWN_DEFAULT;
- BrowserDistribution* dist = BrowserDistribution::GetDistribution();
- base::string16 app_name(ShellUtil::GetApplicationName(dist, chrome_exe));
+ base::string16 app_name(GetApplicationName(chrome_exe));
BOOL result;
for (size_t i = 0; i < num_protocols; ++i) {
@@ -1417,10 +1407,9 @@ ShellUtil::ShortcutProperties::ShortcutProperties(
ShellUtil::ShortcutProperties::~ShortcutProperties() {
}
-bool ShellUtil::QuickIsChromeRegisteredInHKLM(BrowserDistribution* dist,
- const base::FilePath& chrome_exe,
+bool ShellUtil::QuickIsChromeRegisteredInHKLM(const base::FilePath& chrome_exe,
const base::string16& suffix) {
- return QuickIsChromeRegistered(dist, chrome_exe, suffix,
+ return QuickIsChromeRegistered(chrome_exe, suffix,
CONFIRM_SHELL_REGISTRATION_IN_HKLM);
}
@@ -1446,8 +1435,10 @@ bool ShellUtil::GetShortcutPath(ShortcutLocation location,
BrowserDistribution* dist,
ShellChange level,
base::FilePath* path) {
- DCHECK(path);
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
+ DCHECK(path);
int dir_key = -1;
base::string16 folder_to_append;
switch (location) {
@@ -1503,6 +1494,9 @@ bool ShellUtil::MoveExistingShortcut(ShortcutLocation old_location,
ShortcutLocation new_location,
BrowserDistribution* dist,
const ShortcutProperties& properties) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
// Explicitly whitelist locations to which this is applicable.
if (old_location != SHORTCUT_LOCATION_START_MENU_CHROME_DIR_DEPRECATED ||
new_location != SHORTCUT_LOCATION_START_MENU_ROOT) {
@@ -1530,6 +1524,9 @@ bool ShellUtil::CreateOrUpdateShortcut(
BrowserDistribution* dist,
const ShortcutProperties& properties,
ShortcutOperation operation) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
// Explicitly whitelist locations to which this is applicable.
if (location != SHORTCUT_LOCATION_DESKTOP &&
location != SHORTCUT_LOCATION_QUICK_LAUNCH &&
@@ -1638,9 +1635,7 @@ base::string16 ShellUtil::GetChromeDelegateCommand(
}
void ShellUtil::GetRegisteredBrowsers(
- BrowserDistribution* dist,
std::map<base::string16, base::string16>* browsers) {
- DCHECK(dist);
DCHECK(browsers);
const base::string16 base_key(kRegStartMenuInternet);
@@ -1657,11 +1652,10 @@ void ShellUtil::GetRegisteredBrowsers(
iter.Valid(); ++iter) {
client_path.assign(base_key).append(1, L'\\').append(iter.Name());
// Read the browser's name (localized according to install language).
- if (key.Open(root, client_path.c_str(),
- KEY_QUERY_VALUE) != ERROR_SUCCESS ||
- key.ReadValue(NULL, &name) != ERROR_SUCCESS ||
- name.empty() ||
- name.find(dist->GetBaseAppName()) != base::string16::npos) {
+ if (key.Open(root, client_path.c_str(), KEY_QUERY_VALUE) !=
+ ERROR_SUCCESS ||
+ key.ReadValue(NULL, &name) != ERROR_SUCCESS || name.empty() ||
+ name.find(install_static::GetBaseAppName()) != base::string16::npos) {
continue;
}
// Read the browser's reinstall command.
@@ -1676,7 +1670,6 @@ void ShellUtil::GetRegisteredBrowsers(
}
base::string16 ShellUtil::GetCurrentInstallationSuffix(
- BrowserDistribution* dist,
const base::FilePath& chrome_exe) {
// This method is somewhat the opposite of GetInstallationSpecificSuffix().
// In this case we are not trying to determine the current suffix for the
@@ -1690,12 +1683,12 @@ base::string16 ShellUtil::GetCurrentInstallationSuffix(
base::string16 tested_suffix;
if (InstallUtil::IsPerUserInstall() &&
(!GetUserSpecificRegistrySuffix(&tested_suffix) ||
- !QuickIsChromeRegistered(dist, chrome_exe, tested_suffix,
+ !QuickIsChromeRegistered(chrome_exe, tested_suffix,
CONFIRM_PROGID_REGISTRATION)) &&
(!GetOldUserSpecificRegistrySuffix(&tested_suffix) ||
- !QuickIsChromeRegistered(dist, chrome_exe, tested_suffix,
+ !QuickIsChromeRegistered(chrome_exe, tested_suffix,
CONFIRM_PROGID_REGISTRATION)) &&
- !QuickIsChromeRegistered(dist, chrome_exe, tested_suffix.erase(),
+ !QuickIsChromeRegistered(chrome_exe, tested_suffix.erase(),
CONFIRM_PROGID_REGISTRATION)) {
// If Chrome is not registered under any of the possible suffixes (e.g.
// tests, Canary, etc.): use the new-style suffix at run-time.
@@ -1705,13 +1698,6 @@ base::string16 ShellUtil::GetCurrentInstallationSuffix(
return tested_suffix;
}
-base::string16 ShellUtil::GetApplicationName(BrowserDistribution* dist,
- const base::FilePath& chrome_exe) {
- base::string16 app_name = dist->GetBaseAppName();
- app_name += GetCurrentInstallationSuffix(dist, chrome_exe);
- return app_name;
-}
-
base::string16 ShellUtil::GetBrowserModelId(bool is_per_user_install) {
base::string16 app_id(install_static::GetBaseAppId());
base::string16 suffix;
@@ -1842,11 +1828,11 @@ bool ShellUtil::MakeChromeDefault(BrowserDistribution* dist,
int shell_change,
const base::FilePath& chrome_exe,
bool elevate_if_not_admin) {
- DCHECK(!(shell_change & SYSTEM_LEVEL) || IsUserAnAdmin());
-
// Assert that this is only called with the one relevant distribution.
// TODO(grt): Remove this when BrowserDistribution goes away.
DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
+ DCHECK(!(shell_change & SYSTEM_LEVEL) || IsUserAnAdmin());
+
if (!install_static::SupportsSetAsDefaultBrowser())
return false;
@@ -1865,7 +1851,7 @@ bool ShellUtil::MakeChromeDefault(BrowserDistribution* dist,
bool ret = true;
// First use the new "recommended" way on Vista to make Chrome default
// browser.
- base::string16 app_name = GetApplicationName(dist, chrome_exe);
+ base::string16 app_name = GetApplicationName(chrome_exe);
if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
// On Windows Vista and Win7 we still can set ourselves via the
@@ -1899,7 +1885,7 @@ bool ShellUtil::MakeChromeDefault(BrowserDistribution* dist,
}
}
- if (!RegisterChromeAsDefaultXPStyle(dist, shell_change, chrome_exe))
+ if (!RegisterChromeAsDefaultXPStyle(shell_change, chrome_exe))
ret = false;
// Send Windows notification event so that it can update icons for
@@ -1911,11 +1897,11 @@ bool ShellUtil::MakeChromeDefault(BrowserDistribution* dist,
bool ShellUtil::ShowMakeChromeDefaultSystemUI(
BrowserDistribution* dist,
const base::FilePath& chrome_exe) {
- DCHECK(!CanMakeChromeDefaultUnattended());
-
// Assert that this is only called with the one relevant distribution.
// TODO(grt): Remove this when BrowserDistribution goes away.
DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
+ DCHECK(!CanMakeChromeDefaultUnattended());
+
if (!install_static::SupportsSetAsDefaultBrowser())
return false;
@@ -1948,7 +1934,7 @@ bool ShellUtil::ShowMakeChromeDefaultSystemUI(
is_default = (succeeded && GetChromeDefaultState() == IS_DEFAULT);
}
if (succeeded && is_default)
- RegisterChromeAsDefaultXPStyle(dist, CURRENT_USER, chrome_exe);
+ RegisterChromeAsDefaultXPStyle(CURRENT_USER, chrome_exe);
return succeeded;
}
@@ -1982,7 +1968,7 @@ bool ShellUtil::MakeChromeDefaultProtocolClient(
HRESULT hr = pAAR.CreateInstance(CLSID_ApplicationAssociationRegistration,
NULL, CLSCTX_INPROC);
if (SUCCEEDED(hr)) {
- base::string16 app_name = GetApplicationName(dist, chrome_exe);
+ base::string16 app_name = GetApplicationName(chrome_exe);
hr = pAAR->SetAppAsDefault(app_name.c_str(), protocol.c_str(),
AT_URLPROTOCOL);
}
@@ -1996,7 +1982,7 @@ bool ShellUtil::MakeChromeDefaultProtocolClient(
// Now use the old way to associate Chrome with the desired protocol. This
// should not be required on Vista+, but since some applications still read
// Software\Classes\<protocol> key directly, do this on Vista+ also.
- if (!RegisterChromeAsDefaultProtocolClientXPStyle(dist, chrome_exe, protocol))
+ if (!RegisterChromeAsDefaultProtocolClientXPStyle(chrome_exe, protocol))
ret = false;
return ret;
@@ -2006,11 +1992,11 @@ bool ShellUtil::ShowMakeChromeDefaultProtocolClientSystemUI(
BrowserDistribution* dist,
const base::FilePath& chrome_exe,
const base::string16& protocol) {
- DCHECK(!CanMakeChromeDefaultUnattended());
-
// Assert that this is only called with the one relevant distribution.
// TODO(grt): Remove this when BrowserDistribution goes away.
DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
+ DCHECK(!CanMakeChromeDefaultUnattended());
+
if (!install_static::SupportsSetAsDefaultBrowser())
return false;
@@ -2044,7 +2030,7 @@ bool ShellUtil::ShowMakeChromeDefaultProtocolClientSystemUI(
GetChromeDefaultProtocolClientState(protocol) == IS_DEFAULT);
}
if (succeeded && is_default)
- RegisterChromeAsDefaultProtocolClientXPStyle(dist, chrome_exe, protocol);
+ RegisterChromeAsDefaultProtocolClientXPStyle(chrome_exe, protocol);
return succeeded;
}
@@ -2052,6 +2038,8 @@ bool ShellUtil::RegisterChromeBrowser(BrowserDistribution* dist,
const base::FilePath& chrome_exe,
const base::string16& unique_suffix,
bool elevate_if_not_admin) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
@@ -2062,7 +2050,7 @@ bool ShellUtil::RegisterChromeBrowser(BrowserDistribution* dist,
installer::switches::kRegisterChromeBrowserSuffix)) {
suffix = command_line.GetSwitchValueNative(
installer::switches::kRegisterChromeBrowserSuffix);
- } else if (!GetInstallationSpecificSuffix(dist, chrome_exe, &suffix)) {
+ } else if (!GetInstallationSpecificSuffix(chrome_exe, &suffix)) {
return false;
}
@@ -2138,10 +2126,13 @@ bool ShellUtil::RegisterChromeForProtocol(BrowserDistribution* dist,
const base::string16& unique_suffix,
const base::string16& protocol,
bool elevate_if_not_admin) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
base::string16 suffix;
if (!unique_suffix.empty()) {
suffix = unique_suffix;
- } else if (!GetInstallationSpecificSuffix(dist, chrome_exe, &suffix)) {
+ } else if (!GetInstallationSpecificSuffix(chrome_exe, &suffix)) {
return false;
}
@@ -2156,7 +2147,7 @@ bool ShellUtil::RegisterChromeForProtocol(BrowserDistribution* dist,
: RegistryEntry::LOOK_IN_HKLM;
// Check if chrome is already registered with this suffix.
- if (IsChromeRegisteredForProtocol(dist, suffix, protocol, look_for_in))
+ if (IsChromeRegisteredForProtocol(suffix, protocol, look_for_in))
return true;
if (root == HKEY_CURRENT_USER || IsUserAnAdmin()) {
@@ -2167,7 +2158,7 @@ bool ShellUtil::RegisterChromeForProtocol(BrowserDistribution* dist,
// Write in the capabillity for the protocol.
ScopedVector<RegistryEntry> entries;
- GetProtocolCapabilityEntries(dist, suffix, protocol, &entries);
+ GetProtocolCapabilityEntries(suffix, protocol, &entries);
return AddRegistryEntries(root, entries);
} else if (elevate_if_not_admin &&
base::win::GetVersion() >= base::win::VERSION_VISTA) {
@@ -2184,6 +2175,9 @@ bool ShellUtil::RemoveShortcuts(ShortcutLocation location,
BrowserDistribution* dist,
ShellChange level,
const base::FilePath& target_exe) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
if (!ShortcutLocationIsSupported(location))
return true; // Vacuous success.
@@ -2213,6 +2207,9 @@ bool ShellUtil::RetargetShortcutsWithArgs(
ShellChange level,
const base::FilePath& old_target_exe,
const base::FilePath& new_target_exe) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
if (!ShortcutLocationIsSupported(location))
return true; // Vacuous success.
@@ -2232,6 +2229,9 @@ bool ShellUtil::ShortcutListMaybeRemoveUnknownArgs(
bool do_removal,
const scoped_refptr<SharedCancellationFlag>& cancel,
std::vector<std::pair<base::FilePath, base::string16> >* shortcuts) {
+ // Assert that this is only called with the one relevant distribution.
+ // TODO(grt): Remove this when BrowserDistribution goes away.
+ DCHECK_EQ(BrowserDistribution::GetDistribution(), dist);
if (!ShortcutLocationIsSupported(location))
return false;
DCHECK(dist);
« no previous file with comments | « chrome/installer/util/shell_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698