| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "base/file_util.h" | 5 #include "base/file_util.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <propvarutil.h> | 8 #include <propvarutil.h> |
| 9 #include <shellapi.h> | 9 #include <shellapi.h> |
| 10 #include <shlobj.h> | 10 #include <shlobj.h> |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 bool TaskbarUnpinShortcutLink(const wchar_t* shortcut) { | 424 bool TaskbarUnpinShortcutLink(const wchar_t* shortcut) { |
| 425 // "Unpin from taskbar" is only supported after Win7. | 425 // "Unpin from taskbar" is only supported after Win7. |
| 426 if (win_util::GetWinVersion() < win_util::WINVERSION_WIN7) | 426 if (win_util::GetWinVersion() < win_util::WINVERSION_WIN7) |
| 427 return false; | 427 return false; |
| 428 | 428 |
| 429 int result = reinterpret_cast<int>(ShellExecute(NULL, L"taskbarunpin", | 429 int result = reinterpret_cast<int>(ShellExecute(NULL, L"taskbarunpin", |
| 430 shortcut, NULL, NULL, 0)); | 430 shortcut, NULL, NULL, 0)); |
| 431 return result > 32; | 431 return result > 32; |
| 432 } | 432 } |
| 433 | 433 |
| 434 bool IsDirectoryEmpty(const std::wstring& dir_path) { | |
| 435 FileEnumerator files(FilePath(dir_path), false, | |
| 436 static_cast<FileEnumerator::FILE_TYPE>( | |
| 437 FileEnumerator::FILES | FileEnumerator::DIRECTORIES)); | |
| 438 if (files.Next().value().empty()) | |
| 439 return true; | |
| 440 return false; | |
| 441 } | |
| 442 | |
| 443 bool GetTempDir(FilePath* path) { | 434 bool GetTempDir(FilePath* path) { |
| 444 wchar_t temp_path[MAX_PATH + 1]; | 435 wchar_t temp_path[MAX_PATH + 1]; |
| 445 DWORD path_len = ::GetTempPath(MAX_PATH, temp_path); | 436 DWORD path_len = ::GetTempPath(MAX_PATH, temp_path); |
| 446 if (path_len >= MAX_PATH || path_len <= 0) | 437 if (path_len >= MAX_PATH || path_len <= 0) |
| 447 return false; | 438 return false; |
| 448 // TODO(evanm): the old behavior of this function was to always strip the | 439 // TODO(evanm): the old behavior of this function was to always strip the |
| 449 // trailing slash. We duplicate this here, but it shouldn't be necessary | 440 // trailing slash. We duplicate this here, but it shouldn't be necessary |
| 450 // when everyone is using the appropriate FilePath APIs. | 441 // when everyone is using the appropriate FilePath APIs. |
| 451 *path = FilePath(temp_path).StripTrailingSeparators(); | 442 *path = FilePath(temp_path).StripTrailingSeparators(); |
| 452 return true; | 443 return true; |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 } | 890 } |
| 900 | 891 |
| 901 bool HasFileBeenModifiedSince(const FileEnumerator::FindInfo& find_info, | 892 bool HasFileBeenModifiedSince(const FileEnumerator::FindInfo& find_info, |
| 902 const base::Time& cutoff_time) { | 893 const base::Time& cutoff_time) { |
| 903 long result = CompareFileTime(&find_info.ftLastWriteTime, | 894 long result = CompareFileTime(&find_info.ftLastWriteTime, |
| 904 &cutoff_time.ToFileTime()); | 895 &cutoff_time.ToFileTime()); |
| 905 return result == 1 || result == 0; | 896 return result == 1 || result == 0; |
| 906 } | 897 } |
| 907 | 898 |
| 908 } // namespace file_util | 899 } // namespace file_util |
| OLD | NEW |