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

Side by Side Diff: chrome/installer/setup/uninstall.cc

Issue 6961013: Allow chrome to become the os default handler for arbitrary protocols on mac/win. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More changes for comments; fix for a bug introduced with DefaultWebClientWorker refactoring Created 9 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This file defines the methods useful for uninstalling Chrome. 5 // This file defines the methods useful for uninstalling Chrome.
6 6
7 #include "chrome/installer/setup/uninstall.h" 7 #include "chrome/installer/setup/uninstall.h"
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 InstallUtil::DeleteRegistryValueIf( 552 InstallUtil::DeleteRegistryValueIf(
553 root, ShellUtil::kRegStartMenuInternet, L"", 553 root, ShellUtil::kRegStartMenuInternet, L"",
554 InstallUtil::ValueEquals(dist->GetApplicationName() + 554 InstallUtil::ValueEquals(dist->GetApplicationName() +
555 browser_entry_suffix)); 555 browser_entry_suffix));
556 556
557 // Delete each protocol association if it references this Chrome. 557 // Delete each protocol association if it references this Chrome.
558 ProgramCompare open_command_pred(target_path.Append(kChromeExe)); 558 ProgramCompare open_command_pred(target_path.Append(kChromeExe));
559 std::wstring parent_key(ShellUtil::kRegClasses); 559 std::wstring parent_key(ShellUtil::kRegClasses);
560 const std::wstring::size_type base_length = parent_key.size(); 560 const std::wstring::size_type base_length = parent_key.size();
561 std::wstring child_key; 561 std::wstring child_key;
562 for (const wchar_t* const* proto = &ShellUtil::kProtocolAssociations[0]; 562 for (const wchar_t* const* proto =
563 *proto != NULL; ++proto) { 563 &ShellUtil::kPotentialProtocolAssociations[0];
564 *proto != NULL;
565 ++proto) {
564 parent_key.resize(base_length); 566 parent_key.resize(base_length);
565 file_util::AppendToPath(&parent_key, *proto); 567 file_util::AppendToPath(&parent_key, *proto);
566 child_key.assign(parent_key).append(ShellUtil::kRegShellOpen); 568 child_key.assign(parent_key).append(ShellUtil::kRegShellOpen);
567 InstallUtil::DeleteRegistryKeyIf(root, parent_key, child_key, L"", 569 InstallUtil::DeleteRegistryKeyIf(root, parent_key, child_key, L"",
568 open_command_pred); 570 open_command_pred);
569 } 571 }
570 572
571 // Delete each filetype association if it references this Chrome. 573 // Delete each filetype association if it references this Chrome.
572 InstallUtil::ValueEquals prog_id_pred(ShellUtil::kChromeHTMLProgId + 574 InstallUtil::ValueEquals prog_id_pred(ShellUtil::kChromeHTMLProgId +
573 browser_entry_suffix); 575 browser_entry_suffix);
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 861
860 // Try and delete the preserved local state once the post-install 862 // Try and delete the preserved local state once the post-install
861 // operations are complete. 863 // operations are complete.
862 if (!backup_state_file.empty()) 864 if (!backup_state_file.empty())
863 file_util::Delete(backup_state_file, false); 865 file_util::Delete(backup_state_file, false);
864 866
865 return ret; 867 return ret;
866 } 868 }
867 869
868 } // namespace installer 870 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698