OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 functions that integrate Chrome in Windows shell. These | 5 // This file defines functions that integrate Chrome in Windows shell. These |
6 // functions can be used by Chrome as well as Chrome installer. All of the | 6 // functions can be used by Chrome as well as Chrome installer. All of the |
7 // work is done by the local functions defined in anonymous namespace in | 7 // work is done by the local functions defined in anonymous namespace in |
8 // this class. | 8 // this class. |
9 | 9 |
10 #include "chrome/installer/util/shell_util.h" | 10 #include "chrome/installer/util/shell_util.h" |
(...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1483 | 1483 |
1484 bool success = true; | 1484 bool success = true; |
1485 base::FileEnumerator enumerator( | 1485 base::FileEnumerator enumerator( |
1486 shortcut_folder, false, base::FileEnumerator::FILES, | 1486 shortcut_folder, false, base::FileEnumerator::FILES, |
1487 base::string16(L"*") + installer::kLnkExt); | 1487 base::string16(L"*") + installer::kLnkExt); |
1488 base::FilePath target_path; | 1488 base::FilePath target_path; |
1489 base::string16 args; | 1489 base::string16 args; |
1490 for (base::FilePath shortcut_path = enumerator.Next(); | 1490 for (base::FilePath shortcut_path = enumerator.Next(); |
1491 !shortcut_path.empty(); | 1491 !shortcut_path.empty(); |
1492 shortcut_path = enumerator.Next()) { | 1492 shortcut_path = enumerator.Next()) { |
1493 if (cancel && cancel->data.IsSet()) | 1493 if (cancel.get() && cancel->data.IsSet()) |
1494 return false; | 1494 return false; |
1495 if (base::win::ResolveShortcut(shortcut_path, &target_path, &args)) { | 1495 if (base::win::ResolveShortcut(shortcut_path, &target_path, &args)) { |
1496 if (shortcut_filter.Run(target_path, args) && | 1496 if (shortcut_filter.Run(target_path, args) && |
1497 !shortcut_operation.Run(shortcut_path)) { | 1497 !shortcut_operation.Run(shortcut_path)) { |
1498 success = false; | 1498 success = false; |
1499 } | 1499 } |
1500 } else { | 1500 } else { |
1501 LOG(ERROR) << "Cannot resolve shortcut at " << shortcut_path.value(); | 1501 LOG(ERROR) << "Cannot resolve shortcut at " << shortcut_path.value(); |
1502 success = false; | 1502 success = false; |
1503 } | 1503 } |
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2477 base::string16 key_path(ShellUtil::kRegClasses); | 2477 base::string16 key_path(ShellUtil::kRegClasses); |
2478 key_path.push_back(base::FilePath::kSeparators[0]); | 2478 key_path.push_back(base::FilePath::kSeparators[0]); |
2479 key_path.append(prog_id); | 2479 key_path.append(prog_id); |
2480 return InstallUtil::DeleteRegistryKey( | 2480 return InstallUtil::DeleteRegistryKey( |
2481 HKEY_CURRENT_USER, key_path, WorkItem::kWow64Default); | 2481 HKEY_CURRENT_USER, key_path, WorkItem::kWow64Default); |
2482 | 2482 |
2483 // TODO(mgiuca): Remove the extension association entries. This requires that | 2483 // TODO(mgiuca): Remove the extension association entries. This requires that |
2484 // the extensions associated with a particular prog_id are stored in that | 2484 // the extensions associated with a particular prog_id are stored in that |
2485 // prog_id's key. | 2485 // prog_id's key. |
2486 } | 2486 } |
OLD | NEW |