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

Side by Side Diff: content/child/fileapi/file_system_dispatcher.cc

Issue 897563002: Unify the three places that patch font loading for PDFium on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/child/fileapi/file_system_dispatcher.h" 5 #include "content/child/fileapi/file_system_dispatcher.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/process/process.h" 10 #include "base/process/process.h"
11 #include "content/child/child_thread.h" 11 #include "content/child/child_thread_impl.h"
12 #include "content/common/fileapi/file_system_messages.h" 12 #include "content/common/fileapi/file_system_messages.h"
13 #include "storage/common/fileapi/file_system_info.h" 13 #include "storage/common/fileapi/file_system_info.h"
14 14
15 namespace content { 15 namespace content {
16 16
17 class FileSystemDispatcher::CallbackDispatcher { 17 class FileSystemDispatcher::CallbackDispatcher {
18 public: 18 public:
19 typedef CallbackDispatcher self; 19 typedef CallbackDispatcher self;
20 typedef FileSystemDispatcher::StatusCallback StatusCallback; 20 typedef FileSystemDispatcher::StatusCallback StatusCallback;
21 typedef FileSystemDispatcher::MetadataCallback MetadataCallback; 21 typedef FileSystemDispatcher::MetadataCallback MetadataCallback;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 return handled; 164 return handled;
165 } 165 }
166 166
167 void FileSystemDispatcher::OpenFileSystem( 167 void FileSystemDispatcher::OpenFileSystem(
168 const GURL& origin_url, 168 const GURL& origin_url,
169 storage::FileSystemType type, 169 storage::FileSystemType type,
170 const OpenFileSystemCallback& success_callback, 170 const OpenFileSystemCallback& success_callback,
171 const StatusCallback& error_callback) { 171 const StatusCallback& error_callback) {
172 int request_id = dispatchers_.Add( 172 int request_id = dispatchers_.Add(
173 CallbackDispatcher::Create(success_callback, error_callback)); 173 CallbackDispatcher::Create(success_callback, error_callback));
174 ChildThread::current()->Send(new FileSystemHostMsg_OpenFileSystem( 174 ChildThreadImpl::current()->Send(new FileSystemHostMsg_OpenFileSystem(
175 request_id, origin_url, type)); 175 request_id, origin_url, type));
176 } 176 }
177 177
178 void FileSystemDispatcher::ResolveURL( 178 void FileSystemDispatcher::ResolveURL(
179 const GURL& filesystem_url, 179 const GURL& filesystem_url,
180 const ResolveURLCallback& success_callback, 180 const ResolveURLCallback& success_callback,
181 const StatusCallback& error_callback) { 181 const StatusCallback& error_callback) {
182 int request_id = dispatchers_.Add( 182 int request_id = dispatchers_.Add(
183 CallbackDispatcher::Create(success_callback, error_callback)); 183 CallbackDispatcher::Create(success_callback, error_callback));
184 ChildThread::current()->Send(new FileSystemHostMsg_ResolveURL( 184 ChildThreadImpl::current()->Send(new FileSystemHostMsg_ResolveURL(
185 request_id, filesystem_url)); 185 request_id, filesystem_url));
186 } 186 }
187 187
188 void FileSystemDispatcher::DeleteFileSystem(const GURL& origin_url, 188 void FileSystemDispatcher::DeleteFileSystem(const GURL& origin_url,
189 storage::FileSystemType type, 189 storage::FileSystemType type,
190 const StatusCallback& callback) { 190 const StatusCallback& callback) {
191 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 191 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
192 ChildThread::current()->Send(new FileSystemHostMsg_DeleteFileSystem( 192 ChildThreadImpl::current()->Send(new FileSystemHostMsg_DeleteFileSystem(
193 request_id, origin_url, type)); 193 request_id, origin_url, type));
194 } 194 }
195 195
196 void FileSystemDispatcher::Move( 196 void FileSystemDispatcher::Move(
197 const GURL& src_path, 197 const GURL& src_path,
198 const GURL& dest_path, 198 const GURL& dest_path,
199 const StatusCallback& callback) { 199 const StatusCallback& callback) {
200 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 200 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
201 ChildThread::current()->Send(new FileSystemHostMsg_Move( 201 ChildThreadImpl::current()->Send(new FileSystemHostMsg_Move(
202 request_id, src_path, dest_path)); 202 request_id, src_path, dest_path));
203 } 203 }
204 204
205 void FileSystemDispatcher::Copy( 205 void FileSystemDispatcher::Copy(
206 const GURL& src_path, 206 const GURL& src_path,
207 const GURL& dest_path, 207 const GURL& dest_path,
208 const StatusCallback& callback) { 208 const StatusCallback& callback) {
209 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 209 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
210 ChildThread::current()->Send(new FileSystemHostMsg_Copy( 210 ChildThreadImpl::current()->Send(new FileSystemHostMsg_Copy(
211 request_id, src_path, dest_path)); 211 request_id, src_path, dest_path));
212 } 212 }
213 213
214 void FileSystemDispatcher::Remove( 214 void FileSystemDispatcher::Remove(
215 const GURL& path, 215 const GURL& path,
216 bool recursive, 216 bool recursive,
217 const StatusCallback& callback) { 217 const StatusCallback& callback) {
218 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 218 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
219 ChildThread::current()->Send( 219 ChildThreadImpl::current()->Send(
220 new FileSystemHostMsg_Remove(request_id, path, recursive)); 220 new FileSystemHostMsg_Remove(request_id, path, recursive));
221 } 221 }
222 222
223 void FileSystemDispatcher::ReadMetadata( 223 void FileSystemDispatcher::ReadMetadata(
224 const GURL& path, 224 const GURL& path,
225 const MetadataCallback& success_callback, 225 const MetadataCallback& success_callback,
226 const StatusCallback& error_callback) { 226 const StatusCallback& error_callback) {
227 int request_id = dispatchers_.Add( 227 int request_id = dispatchers_.Add(
228 CallbackDispatcher::Create(success_callback, error_callback)); 228 CallbackDispatcher::Create(success_callback, error_callback));
229 ChildThread::current()->Send( 229 ChildThreadImpl::current()->Send(
230 new FileSystemHostMsg_ReadMetadata(request_id, path)); 230 new FileSystemHostMsg_ReadMetadata(request_id, path));
231 } 231 }
232 232
233 void FileSystemDispatcher::CreateFile( 233 void FileSystemDispatcher::CreateFile(
234 const GURL& path, 234 const GURL& path,
235 bool exclusive, 235 bool exclusive,
236 const StatusCallback& callback) { 236 const StatusCallback& callback) {
237 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 237 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
238 ChildThread::current()->Send(new FileSystemHostMsg_Create( 238 ChildThreadImpl::current()->Send(new FileSystemHostMsg_Create(
239 request_id, path, exclusive, 239 request_id, path, exclusive,
240 false /* is_directory */, false /* recursive */)); 240 false /* is_directory */, false /* recursive */));
241 } 241 }
242 242
243 void FileSystemDispatcher::CreateDirectory( 243 void FileSystemDispatcher::CreateDirectory(
244 const GURL& path, 244 const GURL& path,
245 bool exclusive, 245 bool exclusive,
246 bool recursive, 246 bool recursive,
247 const StatusCallback& callback) { 247 const StatusCallback& callback) {
248 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 248 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
249 ChildThread::current()->Send(new FileSystemHostMsg_Create( 249 ChildThreadImpl::current()->Send(new FileSystemHostMsg_Create(
250 request_id, path, exclusive, true /* is_directory */, recursive)); 250 request_id, path, exclusive, true /* is_directory */, recursive));
251 } 251 }
252 252
253 void FileSystemDispatcher::Exists( 253 void FileSystemDispatcher::Exists(
254 const GURL& path, 254 const GURL& path,
255 bool is_directory, 255 bool is_directory,
256 const StatusCallback& callback) { 256 const StatusCallback& callback) {
257 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 257 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
258 ChildThread::current()->Send( 258 ChildThreadImpl::current()->Send(
259 new FileSystemHostMsg_Exists(request_id, path, is_directory)); 259 new FileSystemHostMsg_Exists(request_id, path, is_directory));
260 } 260 }
261 261
262 void FileSystemDispatcher::ReadDirectory( 262 void FileSystemDispatcher::ReadDirectory(
263 const GURL& path, 263 const GURL& path,
264 const ReadDirectoryCallback& success_callback, 264 const ReadDirectoryCallback& success_callback,
265 const StatusCallback& error_callback) { 265 const StatusCallback& error_callback) {
266 int request_id = dispatchers_.Add( 266 int request_id = dispatchers_.Add(
267 CallbackDispatcher::Create(success_callback, error_callback)); 267 CallbackDispatcher::Create(success_callback, error_callback));
268 ChildThread::current()->Send( 268 ChildThreadImpl::current()->Send(
269 new FileSystemHostMsg_ReadDirectory(request_id, path)); 269 new FileSystemHostMsg_ReadDirectory(request_id, path));
270 } 270 }
271 271
272 void FileSystemDispatcher::Truncate( 272 void FileSystemDispatcher::Truncate(
273 const GURL& path, 273 const GURL& path,
274 int64 offset, 274 int64 offset,
275 int* request_id_out, 275 int* request_id_out,
276 const StatusCallback& callback) { 276 const StatusCallback& callback) {
277 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 277 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
278 ChildThread::current()->Send( 278 ChildThreadImpl::current()->Send(
279 new FileSystemHostMsg_Truncate(request_id, path, offset)); 279 new FileSystemHostMsg_Truncate(request_id, path, offset));
280 280
281 if (request_id_out) 281 if (request_id_out)
282 *request_id_out = request_id; 282 *request_id_out = request_id;
283 } 283 }
284 284
285 void FileSystemDispatcher::Write( 285 void FileSystemDispatcher::Write(
286 const GURL& path, 286 const GURL& path,
287 const std::string& blob_id, 287 const std::string& blob_id,
288 int64 offset, 288 int64 offset,
289 int* request_id_out, 289 int* request_id_out,
290 const WriteCallback& success_callback, 290 const WriteCallback& success_callback,
291 const StatusCallback& error_callback) { 291 const StatusCallback& error_callback) {
292 int request_id = dispatchers_.Add( 292 int request_id = dispatchers_.Add(
293 CallbackDispatcher::Create(success_callback, error_callback)); 293 CallbackDispatcher::Create(success_callback, error_callback));
294 ChildThread::current()->Send( 294 ChildThreadImpl::current()->Send(
295 new FileSystemHostMsg_Write(request_id, path, blob_id, offset)); 295 new FileSystemHostMsg_Write(request_id, path, blob_id, offset));
296 296
297 if (request_id_out) 297 if (request_id_out)
298 *request_id_out = request_id; 298 *request_id_out = request_id;
299 } 299 }
300 300
301 void FileSystemDispatcher::Cancel( 301 void FileSystemDispatcher::Cancel(
302 int request_id_to_cancel, 302 int request_id_to_cancel,
303 const StatusCallback& callback) { 303 const StatusCallback& callback) {
304 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 304 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
305 ChildThread::current()->Send(new FileSystemHostMsg_CancelWrite( 305 ChildThreadImpl::current()->Send(new FileSystemHostMsg_CancelWrite(
306 request_id, request_id_to_cancel)); 306 request_id, request_id_to_cancel));
307 } 307 }
308 308
309 void FileSystemDispatcher::TouchFile( 309 void FileSystemDispatcher::TouchFile(
310 const GURL& path, 310 const GURL& path,
311 const base::Time& last_access_time, 311 const base::Time& last_access_time,
312 const base::Time& last_modified_time, 312 const base::Time& last_modified_time,
313 const StatusCallback& callback) { 313 const StatusCallback& callback) {
314 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback)); 314 int request_id = dispatchers_.Add(CallbackDispatcher::Create(callback));
315 ChildThread::current()->Send( 315 ChildThreadImpl::current()->Send(
316 new FileSystemHostMsg_TouchFile( 316 new FileSystemHostMsg_TouchFile(
317 request_id, path, last_access_time, last_modified_time)); 317 request_id, path, last_access_time, last_modified_time));
318 } 318 }
319 319
320 void FileSystemDispatcher::CreateSnapshotFile( 320 void FileSystemDispatcher::CreateSnapshotFile(
321 const GURL& file_path, 321 const GURL& file_path,
322 const CreateSnapshotFileCallback& success_callback, 322 const CreateSnapshotFileCallback& success_callback,
323 const StatusCallback& error_callback) { 323 const StatusCallback& error_callback) {
324 int request_id = dispatchers_.Add( 324 int request_id = dispatchers_.Add(
325 CallbackDispatcher::Create(success_callback, error_callback)); 325 CallbackDispatcher::Create(success_callback, error_callback));
326 ChildThread::current()->Send( 326 ChildThreadImpl::current()->Send(
327 new FileSystemHostMsg_CreateSnapshotFile( 327 new FileSystemHostMsg_CreateSnapshotFile(
328 request_id, file_path)); 328 request_id, file_path));
329 } 329 }
330 330
331 void FileSystemDispatcher::OnDidOpenFileSystem(int request_id, 331 void FileSystemDispatcher::OnDidOpenFileSystem(int request_id,
332 const std::string& name, 332 const std::string& name,
333 const GURL& root) { 333 const GURL& root) {
334 DCHECK(root.is_valid()); 334 DCHECK(root.is_valid());
335 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id); 335 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
336 DCHECK(dispatcher); 336 DCHECK(dispatcher);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 void FileSystemDispatcher::OnDidWrite( 395 void FileSystemDispatcher::OnDidWrite(
396 int request_id, int64 bytes, bool complete) { 396 int request_id, int64 bytes, bool complete) {
397 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id); 397 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
398 DCHECK(dispatcher); 398 DCHECK(dispatcher);
399 dispatcher->DidWrite(bytes, complete); 399 dispatcher->DidWrite(bytes, complete);
400 if (complete) 400 if (complete)
401 dispatchers_.Remove(request_id); 401 dispatchers_.Remove(request_id);
402 } 402 }
403 403
404 } // namespace content 404 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698