| Index: base/platform_file_win.cc
|
| ===================================================================
|
| --- base/platform_file_win.cc (revision 4227)
|
| +++ base/platform_file_win.cc (working copy)
|
| @@ -2,29 +2,31 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "net/disk_cache/os_file.h"
|
| +#include "base/platform_file.h"
|
|
|
| #include "base/logging.h"
|
|
|
| -namespace disk_cache {
|
| +namespace base {
|
|
|
| -OSFile CreateOSFile(const std::wstring& name, int flags, bool* created) {
|
| +PlatformFile CreatePlatformFile(const std::wstring& name,
|
| + int flags,
|
| + bool* created) {
|
| DWORD disposition = 0;
|
|
|
| - if (flags & OS_FILE_OPEN)
|
| + if (flags & PLATFORM_FILE_OPEN)
|
| disposition = OPEN_EXISTING;
|
|
|
| - if (flags & OS_FILE_CREATE) {
|
| + if (flags & PLATFORM_FILE_CREATE) {
|
| DCHECK(!disposition);
|
| disposition = CREATE_NEW;
|
| }
|
|
|
| - if (flags & OS_FILE_OPEN_ALWAYS) {
|
| + if (flags & PLATFORM_FILE_OPEN_ALWAYS) {
|
| DCHECK(!disposition);
|
| disposition = OPEN_ALWAYS;
|
| }
|
|
|
| - if (flags & OS_FILE_CREATE_ALWAYS) {
|
| + if (flags & PLATFORM_FILE_CREATE_ALWAYS) {
|
| DCHECK(!disposition);
|
| disposition = CREATE_ALWAYS;
|
| }
|
| @@ -34,18 +36,22 @@
|
| return NULL;
|
| }
|
|
|
| - DWORD access = (flags & OS_FILE_READ) ? GENERIC_READ : 0;
|
| - if (flags & OS_FILE_WRITE)
|
| + DWORD access = (flags & PLATFORM_FILE_READ) ? GENERIC_READ : 0;
|
| + if (flags & PLATFORM_FILE_WRITE)
|
| access |= GENERIC_WRITE;
|
|
|
| - DWORD sharing = (flags & OS_FILE_SHARE_READ) ? FILE_SHARE_READ : 0;
|
| - if (flags & OS_FILE_SHARE_WRITE)
|
| - access |= FILE_SHARE_WRITE;
|
| + DWORD sharing = (flags & PLATFORM_FILE_EXCLUSIVE_READ) ? 0 : FILE_SHARE_READ;
|
| + if (!(flags & PLATFORM_FILE_EXCLUSIVE_WRITE))
|
| + sharing |= FILE_SHARE_WRITE;
|
|
|
| - HANDLE file = CreateFile(name.c_str(), access, sharing, NULL, disposition, 0,
|
| - NULL);
|
| + DWORD create_flags = 0;
|
| + if (flags & PLATFORM_FILE_ASYNC)
|
| + create_flags |= FILE_FLAG_OVERLAPPED;
|
|
|
| - if ((flags & OS_FILE_OPEN_ALWAYS) && created &&
|
| + HANDLE file = CreateFile(name.c_str(), access, sharing, NULL, disposition,
|
| + create_flags, NULL);
|
| +
|
| + if ((flags & PLATFORM_FILE_OPEN_ALWAYS) && created &&
|
| INVALID_HANDLE_VALUE != file) {
|
| *created = (ERROR_ALREADY_EXISTS != GetLastError());
|
| }
|
|
|
| Property changes on: base\platform_file_win.cc
|
| ___________________________________________________________________
|
| Added: svn:mergeinfo
|
| Merged /branches/chrome_webkit_merge_branch/net/disk_cache/os_file_win.cc:r69-2775
|
|
|
|
|