| Index: net/disk_cache/file_win.cc
|
| ===================================================================
|
| --- net/disk_cache/file_win.cc (revision 199883)
|
| +++ net/disk_cache/file_win.cc (working copy)
|
| @@ -44,7 +44,6 @@
|
| if (error) {
|
| DCHECK(!actual_bytes);
|
| actual_bytes = static_cast<DWORD>(net::ERR_CACHE_READ_FAILURE);
|
| - NOTREACHED();
|
| }
|
|
|
| if (data->callback_)
|
| @@ -67,7 +66,10 @@
|
| namespace disk_cache {
|
|
|
| File::File(base::PlatformFile file)
|
| - : init_(true), mixed_(true), platform_file_(INVALID_HANDLE_VALUE),
|
| + : init_(true),
|
| + mixed_(true),
|
| + force_creation_(false),
|
| + platform_file_(INVALID_HANDLE_VALUE),
|
| sync_platform_file_(file) {
|
| }
|
|
|
| @@ -78,8 +80,9 @@
|
|
|
| DWORD sharing = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
|
| DWORD access = GENERIC_READ | GENERIC_WRITE | DELETE;
|
| + DWORD mode = force_creation_ ? OPEN_ALWAYS : OPEN_EXISTING;
|
| platform_file_ = CreateFile(name.value().c_str(), access, sharing, NULL,
|
| - OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
|
| + mode, FILE_FLAG_OVERLAPPED, NULL);
|
|
|
| if (INVALID_HANDLE_VALUE == platform_file_)
|
| return false;
|
|
|