Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: webkit/browser/fileapi/async_file_util_adapter.cc

Issue 274903002: Remove PlatformFile from fileapi::FileSystemFileUtil (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review feedback Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "webkit/browser/fileapi/async_file_util_adapter.h" 5 #include "webkit/browser/fileapi/async_file_util_adapter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/sequenced_task_runner.h" 10 #include "base/sequenced_task_runner.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 true /* has_more */)); 126 true /* has_more */));
127 entries.clear(); 127 entries.clear();
128 } 128 }
129 } 129 }
130 origin_loop->PostTask( 130 origin_loop->PostTask(
131 FROM_HERE, base::Bind(callback, base::File::FILE_OK, entries, 131 FROM_HERE, base::Bind(callback, base::File::FILE_OK, entries,
132 false /* has_more */)); 132 false /* has_more */));
133 } 133 }
134 134
135 void RunCreateOrOpenCallback( 135 void RunCreateOrOpenCallback(
136 FileSystemOperationContext* context,
136 const AsyncFileUtil::CreateOrOpenCallback& callback, 137 const AsyncFileUtil::CreateOrOpenCallback& callback,
137 base::File::Error result, 138 base::File file) {
138 base::PassPlatformFile file, 139 // TODO(rvargas): Remove PlatformFile from AsyncFileUtil.
139 bool created) { 140 base::File::Error error;
140 callback.Run(result, file, base::Closure()); 141 base::PlatformFile platform_file;
142 if (file.IsValid()) {
143 error = base::File::FILE_OK;
144 platform_file = file.TakePlatformFile();
145 } else {
146 error = file.error_details();
147 platform_file = base::kInvalidPlatformFileValue;
148 }
149
150 callback.Run(error, base::PassPlatformFile(&platform_file), base::Closure());
151 base::File closer(platform_file);
141 } 152 }
142 153
143 } // namespace 154 } // namespace
144 155
145 AsyncFileUtilAdapter::AsyncFileUtilAdapter( 156 AsyncFileUtilAdapter::AsyncFileUtilAdapter(
146 FileSystemFileUtil* sync_file_util) 157 FileSystemFileUtil* sync_file_util)
147 : sync_file_util_(sync_file_util) { 158 : sync_file_util_(sync_file_util) {
148 DCHECK(sync_file_util_.get()); 159 DCHECK(sync_file_util_.get());
149 } 160 }
150 161
151 AsyncFileUtilAdapter::~AsyncFileUtilAdapter() { 162 AsyncFileUtilAdapter::~AsyncFileUtilAdapter() {
152 } 163 }
153 164
154 void AsyncFileUtilAdapter::CreateOrOpen( 165 void AsyncFileUtilAdapter::CreateOrOpen(
155 scoped_ptr<FileSystemOperationContext> context, 166 scoped_ptr<FileSystemOperationContext> context,
156 const FileSystemURL& url, 167 const FileSystemURL& url,
157 int file_flags, 168 int file_flags,
158 const CreateOrOpenCallback& callback) { 169 const CreateOrOpenCallback& callback) {
159 FileSystemOperationContext* context_ptr = context.release(); 170 FileSystemOperationContext* context_ptr = context.release();
160 const bool success = base::FileUtilProxy::RelayCreateOrOpen( 171 base::PostTaskAndReplyWithResult(
161 context_ptr->task_runner(), 172 context_ptr->task_runner(),
173 FROM_HERE,
162 Bind(&FileSystemFileUtil::CreateOrOpen, Unretained(sync_file_util_.get()), 174 Bind(&FileSystemFileUtil::CreateOrOpen, Unretained(sync_file_util_.get()),
163 context_ptr, url, file_flags), 175 context_ptr, url, file_flags),
164 Bind(&FileSystemFileUtil::Close, Unretained(sync_file_util_.get()), 176 Bind(&RunCreateOrOpenCallback, base::Owned(context_ptr), callback));
165 base::Owned(context_ptr)),
166 Bind(&RunCreateOrOpenCallback, callback));
167 DCHECK(success);
168 } 177 }
169 178
170 void AsyncFileUtilAdapter::EnsureFileExists( 179 void AsyncFileUtilAdapter::EnsureFileExists(
171 scoped_ptr<FileSystemOperationContext> context, 180 scoped_ptr<FileSystemOperationContext> context,
172 const FileSystemURL& url, 181 const FileSystemURL& url,
173 const EnsureFileExistsCallback& callback) { 182 const EnsureFileExistsCallback& callback) {
174 EnsureFileExistsHelper* helper = new EnsureFileExistsHelper; 183 EnsureFileExistsHelper* helper = new EnsureFileExistsHelper;
175 FileSystemOperationContext* context_ptr = context.release(); 184 FileSystemOperationContext* context_ptr = context.release();
176 const bool success = context_ptr->task_runner()->PostTaskAndReply( 185 const bool success = context_ptr->task_runner()->PostTaskAndReply(
177 FROM_HERE, 186 FROM_HERE,
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 GetFileInfoHelper* helper = new GetFileInfoHelper; 355 GetFileInfoHelper* helper = new GetFileInfoHelper;
347 const bool success = context_ptr->task_runner()->PostTaskAndReply( 356 const bool success = context_ptr->task_runner()->PostTaskAndReply(
348 FROM_HERE, 357 FROM_HERE,
349 Bind(&GetFileInfoHelper::CreateSnapshotFile, Unretained(helper), 358 Bind(&GetFileInfoHelper::CreateSnapshotFile, Unretained(helper),
350 sync_file_util_.get(), base::Owned(context_ptr), url), 359 sync_file_util_.get(), base::Owned(context_ptr), url),
351 Bind(&GetFileInfoHelper::ReplySnapshotFile, Owned(helper), callback)); 360 Bind(&GetFileInfoHelper::ReplySnapshotFile, Owned(helper), callback));
352 DCHECK(success); 361 DCHECK(success);
353 } 362 }
354 363
355 } // namespace fileapi 364 } // namespace fileapi
OLDNEW
« no previous file with comments | « content/browser/fileapi/obfuscated_file_util_unittest.cc ('k') | webkit/browser/fileapi/file_system_file_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698