OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/chromeos/extensions/file_manager/private_api_tasks.h" | 5 #include "chrome/browser/chromeos/extensions/file_manager/private_api_tasks.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 } | 62 } |
63 return mime_types; | 63 return mime_types; |
64 } | 64 } |
65 | 65 |
66 } // namespace | 66 } // namespace |
67 | 67 |
68 bool FileManagerPrivateInternalExecuteTaskFunction::RunAsync() { | 68 bool FileManagerPrivateInternalExecuteTaskFunction::RunAsync() { |
69 using extensions::api::file_manager_private_internal::ExecuteTask::Params; | 69 using extensions::api::file_manager_private_internal::ExecuteTask::Params; |
70 using extensions::api::file_manager_private_internal::ExecuteTask::Results:: | 70 using extensions::api::file_manager_private_internal::ExecuteTask::Results:: |
71 Create; | 71 Create; |
72 const scoped_ptr<Params> params(Params::Create(*args_)); | 72 const std::unique_ptr<Params> params(Params::Create(*args_)); |
73 EXTENSION_FUNCTION_VALIDATE(params); | 73 EXTENSION_FUNCTION_VALIDATE(params); |
74 | 74 |
75 file_manager::file_tasks::TaskDescriptor task; | 75 file_manager::file_tasks::TaskDescriptor task; |
76 if (!file_manager::file_tasks::ParseTaskID(params->task_id, &task)) { | 76 if (!file_manager::file_tasks::ParseTaskID(params->task_id, &task)) { |
77 SetError(kInvalidTask + params->task_id); | 77 SetError(kInvalidTask + params->task_id); |
78 results_ = | 78 results_ = |
79 Create(extensions::api::file_manager_private::TASK_RESULT_FAILED); | 79 Create(extensions::api::file_manager_private::TASK_RESULT_FAILED); |
80 return false; | 80 return false; |
81 } | 81 } |
82 | 82 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 } | 123 } |
124 | 124 |
125 FileManagerPrivateInternalGetFileTasksFunction:: | 125 FileManagerPrivateInternalGetFileTasksFunction:: |
126 FileManagerPrivateInternalGetFileTasksFunction() {} | 126 FileManagerPrivateInternalGetFileTasksFunction() {} |
127 | 127 |
128 FileManagerPrivateInternalGetFileTasksFunction:: | 128 FileManagerPrivateInternalGetFileTasksFunction:: |
129 ~FileManagerPrivateInternalGetFileTasksFunction() {} | 129 ~FileManagerPrivateInternalGetFileTasksFunction() {} |
130 | 130 |
131 bool FileManagerPrivateInternalGetFileTasksFunction::RunAsync() { | 131 bool FileManagerPrivateInternalGetFileTasksFunction::RunAsync() { |
132 using extensions::api::file_manager_private_internal::GetFileTasks::Params; | 132 using extensions::api::file_manager_private_internal::GetFileTasks::Params; |
133 const scoped_ptr<Params> params(Params::Create(*args_)); | 133 const std::unique_ptr<Params> params(Params::Create(*args_)); |
134 EXTENSION_FUNCTION_VALIDATE(params); | 134 EXTENSION_FUNCTION_VALIDATE(params); |
135 | 135 |
136 if (params->urls.empty()) | 136 if (params->urls.empty()) |
137 return false; | 137 return false; |
138 | 138 |
139 const scoped_refptr<storage::FileSystemContext> file_system_context = | 139 const scoped_refptr<storage::FileSystemContext> file_system_context = |
140 file_manager::util::GetFileSystemContextForRenderFrameHost( | 140 file_manager::util::GetFileSystemContextForRenderFrameHost( |
141 GetProfile(), render_frame_host()); | 141 GetProfile(), render_frame_host()); |
142 | 142 |
143 // Collect all the URLs, convert them to GURLs, and crack all the urls into | 143 // Collect all the URLs, convert them to GURLs, and crack all the urls into |
(...skipping 12 matching lines...) Expand all Loading... |
156 mime_type_collector_->CollectForLocalPaths( | 156 mime_type_collector_->CollectForLocalPaths( |
157 local_paths_, | 157 local_paths_, |
158 base::Bind( | 158 base::Bind( |
159 &FileManagerPrivateInternalGetFileTasksFunction::OnMimeTypesCollected, | 159 &FileManagerPrivateInternalGetFileTasksFunction::OnMimeTypesCollected, |
160 this)); | 160 this)); |
161 | 161 |
162 return true; | 162 return true; |
163 } | 163 } |
164 | 164 |
165 void FileManagerPrivateInternalGetFileTasksFunction::OnMimeTypesCollected( | 165 void FileManagerPrivateInternalGetFileTasksFunction::OnMimeTypesCollected( |
166 scoped_ptr<std::vector<std::string>> mime_types) { | 166 std::unique_ptr<std::vector<std::string>> mime_types) { |
167 is_directory_collector_.reset( | 167 is_directory_collector_.reset( |
168 new app_file_handler_util::IsDirectoryCollector(GetProfile())); | 168 new app_file_handler_util::IsDirectoryCollector(GetProfile())); |
169 is_directory_collector_->CollectForEntriesPaths( | 169 is_directory_collector_->CollectForEntriesPaths( |
170 local_paths_, base::Bind(&FileManagerPrivateInternalGetFileTasksFunction:: | 170 local_paths_, base::Bind(&FileManagerPrivateInternalGetFileTasksFunction:: |
171 OnAreDirectoriesAndMimeTypesCollected, | 171 OnAreDirectoriesAndMimeTypesCollected, |
172 this, base::Passed(std::move(mime_types)))); | 172 this, base::Passed(std::move(mime_types)))); |
173 } | 173 } |
174 | 174 |
175 void FileManagerPrivateInternalGetFileTasksFunction:: | 175 void FileManagerPrivateInternalGetFileTasksFunction:: |
176 OnAreDirectoriesAndMimeTypesCollected( | 176 OnAreDirectoriesAndMimeTypesCollected( |
177 scoped_ptr<std::vector<std::string>> mime_types, | 177 std::unique_ptr<std::vector<std::string>> mime_types, |
178 scoped_ptr<std::set<base::FilePath>> directory_paths) { | 178 std::unique_ptr<std::set<base::FilePath>> directory_paths) { |
179 std::vector<EntryInfo> entries; | 179 std::vector<EntryInfo> entries; |
180 for (size_t i = 0; i < local_paths_.size(); ++i) { | 180 for (size_t i = 0; i < local_paths_.size(); ++i) { |
181 entries.push_back(EntryInfo( | 181 entries.push_back(EntryInfo( |
182 local_paths_[i], (*mime_types)[i], | 182 local_paths_[i], (*mime_types)[i], |
183 directory_paths->find(local_paths_[i]) != directory_paths->end())); | 183 directory_paths->find(local_paths_[i]) != directory_paths->end())); |
184 } | 184 } |
185 | 185 |
186 std::vector<file_manager::file_tasks::FullTaskDescriptor> tasks; | 186 std::vector<file_manager::file_tasks::FullTaskDescriptor> tasks; |
187 file_manager::file_tasks::FindAllTypesOfTasks( | 187 file_manager::file_tasks::FindAllTypesOfTasks( |
188 GetProfile(), drive::util::GetDriveAppRegistryByProfile(GetProfile()), | 188 GetProfile(), drive::util::GetDriveAppRegistryByProfile(GetProfile()), |
(...skipping 14 matching lines...) Expand all Loading... |
203 results.push_back(std::move(converted)); | 203 results.push_back(std::move(converted)); |
204 } | 204 } |
205 | 205 |
206 results_ = extensions::api::file_manager_private_internal::GetFileTasks:: | 206 results_ = extensions::api::file_manager_private_internal::GetFileTasks:: |
207 Results::Create(results); | 207 Results::Create(results); |
208 SendResponse(true); | 208 SendResponse(true); |
209 } | 209 } |
210 | 210 |
211 bool FileManagerPrivateInternalSetDefaultTaskFunction::RunSync() { | 211 bool FileManagerPrivateInternalSetDefaultTaskFunction::RunSync() { |
212 using extensions::api::file_manager_private_internal::SetDefaultTask::Params; | 212 using extensions::api::file_manager_private_internal::SetDefaultTask::Params; |
213 const scoped_ptr<Params> params(Params::Create(*args_)); | 213 const std::unique_ptr<Params> params(Params::Create(*args_)); |
214 EXTENSION_FUNCTION_VALIDATE(params); | 214 EXTENSION_FUNCTION_VALIDATE(params); |
215 | 215 |
216 const scoped_refptr<storage::FileSystemContext> file_system_context = | 216 const scoped_refptr<storage::FileSystemContext> file_system_context = |
217 file_manager::util::GetFileSystemContextForRenderFrameHost( | 217 file_manager::util::GetFileSystemContextForRenderFrameHost( |
218 GetProfile(), render_frame_host()); | 218 GetProfile(), render_frame_host()); |
219 | 219 |
220 const std::set<std::string> suffixes = | 220 const std::set<std::string> suffixes = |
221 GetUniqueSuffixes(params->urls, file_system_context.get()); | 221 GetUniqueSuffixes(params->urls, file_system_context.get()); |
222 const std::set<std::string> mime_types = | 222 const std::set<std::string> mime_types = |
223 GetUniqueMimeTypes(params->mime_types); | 223 GetUniqueMimeTypes(params->mime_types); |
224 | 224 |
225 // If there weren't any mime_types, and all the suffixes were blank, | 225 // If there weren't any mime_types, and all the suffixes were blank, |
226 // then we "succeed", but don't actually associate with anything. | 226 // then we "succeed", but don't actually associate with anything. |
227 // Otherwise, any time we set the default on a file with no extension | 227 // Otherwise, any time we set the default on a file with no extension |
228 // on the local drive, we'd fail. | 228 // on the local drive, we'd fail. |
229 // TODO(gspencer): Fix file manager so that it never tries to set default in | 229 // TODO(gspencer): Fix file manager so that it never tries to set default in |
230 // cases where extensionless local files are part of the selection. | 230 // cases where extensionless local files are part of the selection. |
231 if (suffixes.empty() && mime_types.empty()) { | 231 if (suffixes.empty() && mime_types.empty()) { |
232 SetResult(new base::FundamentalValue(true)); | 232 SetResult(new base::FundamentalValue(true)); |
233 return true; | 233 return true; |
234 } | 234 } |
235 | 235 |
236 file_manager::file_tasks::UpdateDefaultTask( | 236 file_manager::file_tasks::UpdateDefaultTask( |
237 GetProfile()->GetPrefs(), params->task_id, suffixes, mime_types); | 237 GetProfile()->GetPrefs(), params->task_id, suffixes, mime_types); |
238 return true; | 238 return true; |
239 } | 239 } |
240 | 240 |
241 } // namespace extensions | 241 } // namespace extensions |
OLD | NEW |