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

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

Issue 2480293004: Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode. (Closed)
Patch Set: Rebase Created 4 years 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 <memory>
8
7 #include "base/callback.h" 9 #include "base/callback.h"
8 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "base/process/process.h" 12 #include "base/process/process.h"
11 #include "content/child/child_thread_impl.h" 13 #include "content/child/child_thread_impl.h"
12 #include "content/common/fileapi/file_system_messages.h" 14 #include "content/common/fileapi/file_system_messages.h"
13 #include "storage/common/fileapi/file_system_info.h" 15 #include "storage/common/fileapi/file_system_info.h"
14 16
15 namespace content { 17 namespace content {
16 18
17 class FileSystemDispatcher::CallbackDispatcher { 19 class FileSystemDispatcher::CallbackDispatcher {
18 public: 20 public:
19 typedef CallbackDispatcher self; 21 typedef CallbackDispatcher self;
20 typedef FileSystemDispatcher::StatusCallback StatusCallback; 22 typedef FileSystemDispatcher::StatusCallback StatusCallback;
21 typedef FileSystemDispatcher::MetadataCallback MetadataCallback; 23 typedef FileSystemDispatcher::MetadataCallback MetadataCallback;
22 typedef FileSystemDispatcher::ReadDirectoryCallback ReadDirectoryCallback; 24 typedef FileSystemDispatcher::ReadDirectoryCallback ReadDirectoryCallback;
23 typedef FileSystemDispatcher::OpenFileSystemCallback OpenFileSystemCallback; 25 typedef FileSystemDispatcher::OpenFileSystemCallback OpenFileSystemCallback;
24 typedef FileSystemDispatcher::ResolveURLCallback ResolveURLCallback; 26 typedef FileSystemDispatcher::ResolveURLCallback ResolveURLCallback;
25 typedef FileSystemDispatcher::WriteCallback WriteCallback; 27 typedef FileSystemDispatcher::WriteCallback WriteCallback;
26 typedef FileSystemDispatcher::OpenFileCallback OpenFileCallback; 28 typedef FileSystemDispatcher::OpenFileCallback OpenFileCallback;
27 29
28 static CallbackDispatcher* Create(const StatusCallback& callback) { 30 static std::unique_ptr<CallbackDispatcher> Create(
29 CallbackDispatcher* dispatcher = new CallbackDispatcher; 31 const StatusCallback& callback) {
32 std::unique_ptr<CallbackDispatcher> dispatcher =
danakj 2016/11/30 00:34:00 can auto
33 base::WrapUnique(new CallbackDispatcher);
danakj 2016/11/30 00:34:00 makeunique
30 dispatcher->status_callback_ = callback; 34 dispatcher->status_callback_ = callback;
31 dispatcher->error_callback_ = callback; 35 dispatcher->error_callback_ = callback;
32 return dispatcher; 36 return dispatcher;
33 } 37 }
34 static CallbackDispatcher* Create(const MetadataCallback& callback, 38 static std::unique_ptr<CallbackDispatcher> Create(
35 const StatusCallback& error_callback) { 39 const MetadataCallback& callback,
36 CallbackDispatcher* dispatcher = new CallbackDispatcher; 40 const StatusCallback& error_callback) {
41 std::unique_ptr<CallbackDispatcher> dispatcher =
danakj 2016/11/30 00:34:00 same and same throughout
42 base::WrapUnique(new CallbackDispatcher);
37 dispatcher->metadata_callback_ = callback; 43 dispatcher->metadata_callback_ = callback;
38 dispatcher->error_callback_ = error_callback; 44 dispatcher->error_callback_ = error_callback;
39 return dispatcher; 45 return dispatcher;
40 } 46 }
41 static CallbackDispatcher* Create(const CreateSnapshotFileCallback& callback, 47 static std::unique_ptr<CallbackDispatcher> Create(
42 const StatusCallback& error_callback) { 48 const CreateSnapshotFileCallback& callback,
43 CallbackDispatcher* dispatcher = new CallbackDispatcher; 49 const StatusCallback& error_callback) {
50 std::unique_ptr<CallbackDispatcher> dispatcher =
51 base::WrapUnique(new CallbackDispatcher);
44 dispatcher->snapshot_callback_ = callback; 52 dispatcher->snapshot_callback_ = callback;
45 dispatcher->error_callback_ = error_callback; 53 dispatcher->error_callback_ = error_callback;
46 return dispatcher; 54 return dispatcher;
47 } 55 }
48 static CallbackDispatcher* Create(const ReadDirectoryCallback& callback, 56 static std::unique_ptr<CallbackDispatcher> Create(
49 const StatusCallback& error_callback) { 57 const ReadDirectoryCallback& callback,
50 CallbackDispatcher* dispatcher = new CallbackDispatcher; 58 const StatusCallback& error_callback) {
59 std::unique_ptr<CallbackDispatcher> dispatcher =
60 base::WrapUnique(new CallbackDispatcher);
51 dispatcher->directory_callback_ = callback; 61 dispatcher->directory_callback_ = callback;
52 dispatcher->error_callback_ = error_callback; 62 dispatcher->error_callback_ = error_callback;
53 return dispatcher; 63 return dispatcher;
54 } 64 }
55 static CallbackDispatcher* Create(const OpenFileSystemCallback& callback, 65 static std::unique_ptr<CallbackDispatcher> Create(
56 const StatusCallback& error_callback) { 66 const OpenFileSystemCallback& callback,
57 CallbackDispatcher* dispatcher = new CallbackDispatcher; 67 const StatusCallback& error_callback) {
68 std::unique_ptr<CallbackDispatcher> dispatcher =
69 base::WrapUnique(new CallbackDispatcher);
58 dispatcher->filesystem_callback_ = callback; 70 dispatcher->filesystem_callback_ = callback;
59 dispatcher->error_callback_ = error_callback; 71 dispatcher->error_callback_ = error_callback;
60 return dispatcher; 72 return dispatcher;
61 } 73 }
62 static CallbackDispatcher* Create(const ResolveURLCallback& callback, 74 static std::unique_ptr<CallbackDispatcher> Create(
63 const StatusCallback& error_callback) { 75 const ResolveURLCallback& callback,
64 CallbackDispatcher* dispatcher = new CallbackDispatcher; 76 const StatusCallback& error_callback) {
77 std::unique_ptr<CallbackDispatcher> dispatcher =
78 base::WrapUnique(new CallbackDispatcher);
65 dispatcher->resolve_callback_ = callback; 79 dispatcher->resolve_callback_ = callback;
66 dispatcher->error_callback_ = error_callback; 80 dispatcher->error_callback_ = error_callback;
67 return dispatcher; 81 return dispatcher;
68 } 82 }
69 static CallbackDispatcher* Create(const WriteCallback& callback, 83 static std::unique_ptr<CallbackDispatcher> Create(
70 const StatusCallback& error_callback) { 84 const WriteCallback& callback,
71 CallbackDispatcher* dispatcher = new CallbackDispatcher; 85 const StatusCallback& error_callback) {
86 std::unique_ptr<CallbackDispatcher> dispatcher =
87 base::WrapUnique(new CallbackDispatcher);
72 dispatcher->write_callback_ = callback; 88 dispatcher->write_callback_ = callback;
73 dispatcher->error_callback_ = error_callback; 89 dispatcher->error_callback_ = error_callback;
74 return dispatcher; 90 return dispatcher;
75 } 91 }
76 92
77 ~CallbackDispatcher() {} 93 ~CallbackDispatcher() {}
78 94
79 void DidSucceed() { 95 void DidSucceed() {
80 status_callback_.Run(base::File::FILE_OK); 96 status_callback_.Run(base::File::FILE_OK);
81 } 97 }
(...skipping 28 matching lines...) Expand all
110 const base::FilePath& file_path, 126 const base::FilePath& file_path,
111 bool is_directory) { 127 bool is_directory) {
112 resolve_callback_.Run(info, file_path, is_directory); 128 resolve_callback_.Run(info, file_path, is_directory);
113 } 129 }
114 130
115 void DidWrite(int64_t bytes, bool complete) { 131 void DidWrite(int64_t bytes, bool complete) {
116 write_callback_.Run(bytes, complete); 132 write_callback_.Run(bytes, complete);
117 } 133 }
118 134
119 private: 135 private:
120 CallbackDispatcher() {} 136 CallbackDispatcher() {}
rlanday 2016/11/30 15:52:01 I can't use MakeUnique with CallbackDispatcher bec
121 137
122 StatusCallback status_callback_; 138 StatusCallback status_callback_;
123 MetadataCallback metadata_callback_; 139 MetadataCallback metadata_callback_;
124 CreateSnapshotFileCallback snapshot_callback_; 140 CreateSnapshotFileCallback snapshot_callback_;
125 ReadDirectoryCallback directory_callback_; 141 ReadDirectoryCallback directory_callback_;
126 OpenFileSystemCallback filesystem_callback_; 142 OpenFileSystemCallback filesystem_callback_;
127 ResolveURLCallback resolve_callback_; 143 ResolveURLCallback resolve_callback_;
128 WriteCallback write_callback_; 144 WriteCallback write_callback_;
129 145
130 StatusCallback error_callback_; 146 StatusCallback error_callback_;
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 int64_t bytes, 410 int64_t bytes,
395 bool complete) { 411 bool complete) {
396 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id); 412 CallbackDispatcher* dispatcher = dispatchers_.Lookup(request_id);
397 DCHECK(dispatcher); 413 DCHECK(dispatcher);
398 dispatcher->DidWrite(bytes, complete); 414 dispatcher->DidWrite(bytes, complete);
399 if (complete) 415 if (complete)
400 dispatchers_.Remove(request_id); 416 dispatchers_.Remove(request_id);
401 } 417 }
402 418
403 } // namespace content 419 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698