diff options
author | sverrir@google.com <sverrir@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 19:34:57 +0000 |
---|---|---|
committer | sverrir@google.com <sverrir@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 19:34:57 +0000 |
commit | 6ee6368c466235c5919c9b4d5cfe11f8e48b29ca (patch) | |
tree | 2e699ec8a3b602e6462d876e1106f933935ec675 /chrome | |
parent | 054447e2c3b50bb3000a9b3da989c8b86329f110 (diff) | |
download | chromium_src-6ee6368c466235c5919c9b4d5cfe11f8e48b29ca.zip chromium_src-6ee6368c466235c5919c9b4d5cfe11f8e48b29ca.tar.gz chromium_src-6ee6368c466235c5919c9b4d5cfe11f8e48b29ca.tar.bz2 |
Revert change (r10357, http://codereview.chromium.org/21477) that removes the
registration of URL Protocol. The original change broke launching of chrome when
it's the default browser on Vista from some programs (e.g. Google Desktop).
The reason for removing this is that we thought it would be a potential security threat
but it seems like this is how other browsers do this and the user gets presented by
a warning dialog anyway.
BUG=10613
Review URL: http://codereview.chromium.org/67256
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14052 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/installer/util/shell_util.cc | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc index 6370c61..2e5e9c5 100644 --- a/chrome/installer/util/shell_util.cc +++ b/chrome/installer/util/shell_util.cc @@ -57,6 +57,8 @@ class RegistryEntry { file_util::AppendToPath(&chrome_html_prog_id, ShellUtil::kChromeHTMLProgId); entries.push_front(new RegistryEntry(chrome_html_prog_id, ShellUtil::kChromeHTMLProgIdDesc)); + entries.push_front(new RegistryEntry(chrome_html_prog_id, + ShellUtil::kRegUrlProtocol, L"")); entries.push_front(new RegistryEntry( chrome_html_prog_id + ShellUtil::kRegDefaultIcon, icon_path)); entries.push_front(new RegistryEntry( @@ -139,7 +141,7 @@ class RegistryEntry { return entries; } - // Generate work_item tasks required to create current regitry entry and + // Generate work_item tasks required to create current registry entry and // add them to the given work item list. void AddToWorkItemList(HKEY root, WorkItemList *items) { items->AddCreateRegKeyWorkItem(root, _key_path); @@ -356,15 +358,6 @@ ShellUtil::RegisterStatus RegisterOnVista(const std::wstring& chrome_exe, return ShellUtil::FAILURE; } -// Remove unnecessary "URL Protocol" entry from shell registration. This value -// was written by older installers so ignoring error conditions. -void RemoveUrlProtocol(HKEY root) { - std::wstring chrome_html_prog_id(ShellUtil::kRegClasses); - file_util::AppendToPath(&chrome_html_prog_id, ShellUtil::kChromeHTMLProgId); - RegKey key(root, chrome_html_prog_id.c_str(), KEY_ALL_ACCESS); - key.DeleteValue(ShellUtil::kRegUrlProtocol); -} - } // namespace @@ -402,9 +395,6 @@ const wchar_t* ShellUtil::kChromeExtProgIdDesc = L"Chrome Extension Installer"; ShellUtil::RegisterStatus ShellUtil::AddChromeToSetAccessDefaults( const std::wstring& chrome_exe, bool skip_if_not_admin) { - RemoveUrlProtocol(HKEY_LOCAL_MACHINE); - RemoveUrlProtocol(HKEY_CURRENT_USER); - if (IsChromeRegistered(chrome_exe)) return ShellUtil::SUCCESS; |