| 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 2051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2062 // Remove chrome-specific shortcut folders if they are now empty. | 2062 // Remove chrome-specific shortcut folders if they are now empty. |
| 2063 if (success && | 2063 if (success && |
| 2064 (location == SHORTCUT_LOCATION_START_MENU || | 2064 (location == SHORTCUT_LOCATION_START_MENU || |
| 2065 location == SHORTCUT_LOCATION_APP_SHORTCUTS)) { | 2065 location == SHORTCUT_LOCATION_APP_SHORTCUTS)) { |
| 2066 success = RemoveShortcutFolderIfEmpty(location, dist, level); | 2066 success = RemoveShortcutFolderIfEmpty(location, dist, level); |
| 2067 } | 2067 } |
| 2068 return success; | 2068 return success; |
| 2069 } | 2069 } |
| 2070 | 2070 |
| 2071 // static | 2071 // static |
| 2072 bool ShellUtil::UpdateShortcuts( | 2072 bool ShellUtil::UpdateShortcutsWithArgs( |
| 2073 ShellUtil::ShortcutLocation location, | 2073 ShellUtil::ShortcutLocation location, |
| 2074 BrowserDistribution* dist, | 2074 BrowserDistribution* dist, |
| 2075 ShellChange level, | 2075 ShellChange level, |
| 2076 const base::FilePath& target_exe, | 2076 const base::FilePath& target_exe, |
| 2077 bool require_args, | |
| 2078 const ShellUtil::ShortcutProperties& properties) { | 2077 const ShellUtil::ShortcutProperties& properties) { |
| 2079 if (!ShellUtil::ShortcutLocationIsSupported(location)) | 2078 if (!ShellUtil::ShortcutLocationIsSupported(location)) |
| 2080 return true; // Vacuous success. | 2079 return true; // Vacuous success. |
| 2081 | 2080 |
| 2082 FilterTargetEq shortcut_filter(target_exe, require_args); | 2081 FilterTargetEq shortcut_filter(target_exe, true); |
| 2083 ShortcutOperationCallback shortcut_operation( | 2082 ShortcutOperationCallback shortcut_operation( |
| 2084 base::Bind(&ShortcutOpUpdate, TranslateShortcutProperties(properties))); | 2083 base::Bind(&ShortcutOpUpdate, TranslateShortcutProperties(properties))); |
| 2085 return BatchShortcutAction(shortcut_filter.AsShortcutFilterCallback(), | 2084 return BatchShortcutAction(shortcut_filter.AsShortcutFilterCallback(), |
| 2086 shortcut_operation, location, dist, level); | 2085 shortcut_operation, location, dist, level); |
| 2087 } | 2086 } |
| 2088 | 2087 |
| 2089 bool ShellUtil::GetUserSpecificRegistrySuffix(string16* suffix) { | 2088 bool ShellUtil::GetUserSpecificRegistrySuffix(string16* suffix) { |
| 2090 // Use a thread-safe cache for the user's suffix. | 2089 // Use a thread-safe cache for the user's suffix. |
| 2091 static base::LazyInstance<UserSpecificRegistrySuffix>::Leaky suffix_instance = | 2090 static base::LazyInstance<UserSpecificRegistrySuffix>::Leaky suffix_instance = |
| 2092 LAZY_INSTANCE_INITIALIZER; | 2091 LAZY_INSTANCE_INITIALIZER; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2146 // are any left...). | 2145 // are any left...). |
| 2147 if (free_bits >= 8 && next_byte_index < size) { | 2146 if (free_bits >= 8 && next_byte_index < size) { |
| 2148 free_bits -= 8; | 2147 free_bits -= 8; |
| 2149 bit_stream += bytes[next_byte_index++] << free_bits; | 2148 bit_stream += bytes[next_byte_index++] << free_bits; |
| 2150 } | 2149 } |
| 2151 } | 2150 } |
| 2152 | 2151 |
| 2153 DCHECK_EQ(ret.length(), encoded_length); | 2152 DCHECK_EQ(ret.length(), encoded_length); |
| 2154 return ret; | 2153 return ret; |
| 2155 } | 2154 } |
| OLD | NEW |