summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorsverrir@google.com <sverrir@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-20 19:34:57 +0000
committersverrir@google.com <sverrir@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-20 19:34:57 +0000
commit6ee6368c466235c5919c9b4d5cfe11f8e48b29ca (patch)
tree2e699ec8a3b602e6462d876e1106f933935ec675 /chrome
parent054447e2c3b50bb3000a9b3da989c8b86329f110 (diff)
downloadchromium_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.cc16
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;