| Index: base/file_util_win.cc
|
| ===================================================================
|
| --- base/file_util_win.cc (revision 64973)
|
| +++ base/file_util_win.cc (working copy)
|
| @@ -19,7 +19,6 @@
|
| #include "base/win/scoped_handle.h"
|
| #include "base/string_number_conversions.h"
|
| #include "base/string_util.h"
|
| -#include "base/thread_restrictions.h"
|
| #include "base/time.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/win_util.h"
|
| @@ -36,8 +35,6 @@
|
| // Helper for NormalizeFilePath(), defined below.
|
| bool DevicePathToDriveLetterPath(const FilePath& device_path,
|
| FilePath* drive_letter_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // Get the mapping of drive letters to device paths.
|
| const int kDriveMappingSize = 1024;
|
| wchar_t drive_mapping[kDriveMappingSize] = {'\0'};
|
| @@ -78,7 +75,6 @@
|
| } // namespace
|
|
|
| std::wstring GetDirectoryFromPath(const std::wstring& path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| wchar_t path_buffer[MAX_PATH];
|
| wchar_t* file_ptr = NULL;
|
| if (GetFullPathName(path.c_str(), MAX_PATH, path_buffer, &file_ptr) == 0)
|
| @@ -91,7 +87,6 @@
|
| }
|
|
|
| bool AbsolutePath(FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| wchar_t file_path_buf[MAX_PATH];
|
| if (!_wfullpath(file_path_buf, path->value().c_str(), MAX_PATH))
|
| return false;
|
| @@ -101,8 +96,6 @@
|
|
|
| int CountFilesCreatedAfter(const FilePath& path,
|
| const base::Time& comparison_time) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| int file_count = 0;
|
| FILETIME comparison_filetime(comparison_time.ToFileTime());
|
|
|
| @@ -130,8 +123,6 @@
|
| }
|
|
|
| bool Delete(const FilePath& path, bool recursive) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| if (path.value().length() >= MAX_PATH)
|
| return false;
|
|
|
| @@ -170,8 +161,6 @@
|
| }
|
|
|
| bool DeleteAfterReboot(const FilePath& path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| if (path.value().length() >= MAX_PATH)
|
| return false;
|
|
|
| @@ -181,8 +170,6 @@
|
| }
|
|
|
| bool Move(const FilePath& from_path, const FilePath& to_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // NOTE: I suspect we could support longer paths, but that would involve
|
| // analyzing all our usage of files.
|
| if (from_path.value().length() >= MAX_PATH ||
|
| @@ -202,8 +189,6 @@
|
| }
|
|
|
| bool ReplaceFile(const FilePath& from_path, const FilePath& to_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // Make sure that the target file exists.
|
| HANDLE target_file = ::CreateFile(
|
| to_path.value().c_str(),
|
| @@ -223,8 +208,6 @@
|
| }
|
|
|
| bool CopyFile(const FilePath& from_path, const FilePath& to_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // NOTE: I suspect we could support longer paths, but that would involve
|
| // analyzing all our usage of files.
|
| if (from_path.value().length() >= MAX_PATH ||
|
| @@ -237,8 +220,6 @@
|
|
|
| bool ShellCopy(const FilePath& from_path, const FilePath& to_path,
|
| bool recursive) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // NOTE: I suspect we could support longer paths, but that would involve
|
| // analyzing all our usage of files.
|
| if (from_path.value().length() >= MAX_PATH ||
|
| @@ -270,8 +251,6 @@
|
|
|
| bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
|
| bool recursive) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| if (recursive)
|
| return ShellCopy(from_path, to_path, true);
|
|
|
| @@ -295,7 +274,6 @@
|
|
|
| bool CopyAndDeleteDirectory(const FilePath& from_path,
|
| const FilePath& to_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| if (CopyDirectory(from_path, to_path, true)) {
|
| if (Delete(from_path, true)) {
|
| return true;
|
| @@ -310,12 +288,10 @@
|
|
|
|
|
| bool PathExists(const FilePath& path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| return (GetFileAttributes(path.value().c_str()) != INVALID_FILE_ATTRIBUTES);
|
| }
|
|
|
| bool PathIsWritable(const FilePath& path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| HANDLE dir =
|
| CreateFile(path.value().c_str(), FILE_ADD_FILE, kFileShareAll,
|
| NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
|
| @@ -328,7 +304,6 @@
|
| }
|
|
|
| bool DirectoryExists(const FilePath& path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| DWORD fileattr = GetFileAttributes(path.value().c_str());
|
| if (fileattr != INVALID_FILE_ATTRIBUTES)
|
| return (fileattr & FILE_ATTRIBUTE_DIRECTORY) != 0;
|
| @@ -337,7 +312,6 @@
|
|
|
| bool GetFileCreationLocalTimeFromHandle(HANDLE file_handle,
|
| LPSYSTEMTIME creation_time) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| if (!file_handle)
|
| return false;
|
|
|
| @@ -354,7 +328,6 @@
|
|
|
| bool GetFileCreationLocalTime(const std::wstring& filename,
|
| LPSYSTEMTIME creation_time) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| base::win::ScopedHandle file_handle(
|
| CreateFile(filename.c_str(), GENERIC_READ, kFileShareAll, NULL,
|
| OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL));
|
| @@ -362,8 +335,6 @@
|
| }
|
|
|
| bool ResolveShortcut(FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| HRESULT result;
|
| base::win::ScopedComPtr<IShellLink> i_shell_link;
|
| bool is_resolved = false;
|
| @@ -399,8 +370,6 @@
|
| const wchar_t *working_dir, const wchar_t *arguments,
|
| const wchar_t *description, const wchar_t *icon,
|
| int icon_index, const wchar_t* app_id) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // Length of arguments and description must be less than MAX_PATH.
|
| DCHECK(lstrlen(arguments) < MAX_PATH);
|
| DCHECK(lstrlen(description) < MAX_PATH);
|
| @@ -452,8 +421,6 @@
|
| const wchar_t *working_dir, const wchar_t *arguments,
|
| const wchar_t *description, const wchar_t *icon,
|
| int icon_index, const wchar_t* app_id) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // Length of arguments and description must be less than MAX_PATH.
|
| DCHECK(lstrlen(arguments) < MAX_PATH);
|
| DCHECK(lstrlen(description) < MAX_PATH);
|
| @@ -500,8 +467,6 @@
|
| }
|
|
|
| bool TaskbarPinShortcutLink(const wchar_t* shortcut) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // "Pin to taskbar" is only supported after Win7.
|
| if (base::win::GetVersion() < base::win::VERSION_WIN7)
|
| return false;
|
| @@ -512,8 +477,6 @@
|
| }
|
|
|
| bool TaskbarUnpinShortcutLink(const wchar_t* shortcut) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // "Unpin from taskbar" is only supported after Win7.
|
| if (base::win::GetVersion() < base::win::VERSION_WIN7)
|
| return false;
|
| @@ -524,8 +487,6 @@
|
| }
|
|
|
| bool GetTempDir(FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| wchar_t temp_path[MAX_PATH + 1];
|
| DWORD path_len = ::GetTempPath(MAX_PATH, temp_path);
|
| if (path_len >= MAX_PATH || path_len <= 0)
|
| @@ -542,8 +503,6 @@
|
| }
|
|
|
| bool CreateTemporaryFile(FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| FilePath temp_file;
|
|
|
| if (!GetTempDir(path))
|
| @@ -558,7 +517,6 @@
|
| }
|
|
|
| FILE* CreateAndOpenTemporaryShmemFile(FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| return CreateAndOpenTemporaryFile(path);
|
| }
|
|
|
| @@ -567,7 +525,6 @@
|
| // TODO(jrg): is there equivalent call to use on Windows instead of
|
| // going 2-step?
|
| FILE* CreateAndOpenTemporaryFileInDir(const FilePath& dir, FilePath* path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| if (!CreateTemporaryFileInDir(dir, path)) {
|
| return NULL;
|
| }
|
| @@ -579,8 +536,6 @@
|
|
|
| bool CreateTemporaryFileInDir(const FilePath& dir,
|
| FilePath* temp_file) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| wchar_t temp_name[MAX_PATH + 1];
|
|
|
| if (!GetTempFileName(dir.value().c_str(), L"", 0, temp_name)) {
|
| @@ -603,8 +558,6 @@
|
| bool CreateTemporaryDirInDir(const FilePath& base_dir,
|
| const FilePath::StringType& prefix,
|
| FilePath* new_dir) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| FilePath path_to_create;
|
| srand(static_cast<uint32>(time(NULL)));
|
|
|
| @@ -629,8 +582,6 @@
|
|
|
| bool CreateNewTempDirectory(const FilePath::StringType& prefix,
|
| FilePath* new_temp_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| FilePath system_temp_dir;
|
| if (!GetTempDir(&system_temp_dir))
|
| return false;
|
| @@ -639,8 +590,6 @@
|
| }
|
|
|
| bool CreateDirectory(const FilePath& full_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // If the path exists, we've succeeded if it's a directory, failed otherwise.
|
| const wchar_t* full_path_str = full_path.value().c_str();
|
| DWORD fileattr = ::GetFileAttributes(full_path_str);
|
| @@ -687,8 +636,6 @@
|
| }
|
|
|
| bool GetFileInfo(const FilePath& file_path, base::PlatformFileInfo* results) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| WIN32_FILE_ATTRIBUTE_DATA attr;
|
| if (!GetFileAttributesEx(file_path.value().c_str(),
|
| GetFileExInfoStandard, &attr)) {
|
| @@ -710,18 +657,15 @@
|
| }
|
|
|
| FILE* OpenFile(const FilePath& filename, const char* mode) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| std::wstring w_mode = ASCIIToWide(std::string(mode));
|
| return _wfsopen(filename.value().c_str(), w_mode.c_str(), _SH_DENYNO);
|
| }
|
|
|
| FILE* OpenFile(const std::string& filename, const char* mode) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| return _fsopen(filename.c_str(), mode, _SH_DENYNO);
|
| }
|
|
|
| int ReadFile(const FilePath& filename, char* data, int size) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| base::win::ScopedHandle file(CreateFile(filename.value().c_str(),
|
| GENERIC_READ,
|
| FILE_SHARE_READ | FILE_SHARE_WRITE,
|
| @@ -740,7 +684,6 @@
|
| }
|
|
|
| int WriteFile(const FilePath& filename, const char* data, int size) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| base::win::ScopedHandle file(CreateFile(filename.value().c_str(),
|
| GENERIC_WRITE,
|
| 0,
|
| @@ -775,8 +718,6 @@
|
|
|
| bool RenameFileAndResetSecurityDescriptor(const FilePath& source_file_path,
|
| const FilePath& target_file_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| // The parameters to SHFileOperation must be terminated with 2 NULL chars.
|
| std::wstring source = source_file_path.value();
|
| std::wstring target = target_file_path.value();
|
| @@ -799,8 +740,6 @@
|
|
|
| // Gets the current working directory for the process.
|
| bool GetCurrentDirectory(FilePath* dir) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| wchar_t system_buffer[MAX_PATH];
|
| system_buffer[0] = 0;
|
| DWORD len = ::GetCurrentDirectory(MAX_PATH, system_buffer);
|
| @@ -816,7 +755,6 @@
|
|
|
| // Sets the current working directory for the process.
|
| bool SetCurrentDirectory(const FilePath& directory) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| BOOL ret = ::SetCurrentDirectory(directory.value().c_str());
|
| return ret != 0;
|
| }
|
| @@ -874,8 +812,6 @@
|
| }
|
|
|
| FilePath FileEnumerator::Next() {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| while (has_find_data_ || !pending_paths_.empty()) {
|
| if (!has_find_data_) {
|
| // The last find FindFirstFile operation is done, prepare a new one.
|
| @@ -947,8 +883,6 @@
|
| }
|
|
|
| bool MemoryMappedFile::MapFileToMemoryInternal() {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| -
|
| if (file_ == INVALID_HANDLE_VALUE)
|
| return false;
|
|
|
| @@ -992,14 +926,12 @@
|
|
|
| bool HasFileBeenModifiedSince(const FileEnumerator::FindInfo& find_info,
|
| const base::Time& cutoff_time) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| long result = CompareFileTime(&find_info.ftLastWriteTime,
|
| &cutoff_time.ToFileTime());
|
| return result == 1 || result == 0;
|
| }
|
|
|
| bool NormalizeFilePath(const FilePath& path, FilePath* real_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| FilePath mapped_file;
|
| if (!NormalizeToNativeFilePath(path, &mapped_file))
|
| return false;
|
| @@ -1011,7 +943,6 @@
|
| }
|
|
|
| bool NormalizeToNativeFilePath(const FilePath& path, FilePath* nt_path) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| // In Vista, GetFinalPathNameByHandle() would give us the real path
|
| // from a file handle. If we ever deprecate XP, consider changing the
|
| // code below to a call to GetFinalPathNameByHandle(). The method this
|
| @@ -1067,7 +998,6 @@
|
|
|
| bool PreReadImage(const wchar_t* file_path, size_t size_to_read,
|
| size_t step_size) {
|
| - base::ThreadRestrictions::AssertIOAllowed();
|
| if (base::win::GetVersion() > base::win::VERSION_XP) {
|
| // Vista+ branch. On these OSes, the forced reads through the DLL actually
|
| // slows warm starts. The solution is to sequentially read file contents
|
|
|