| 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 |