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_system_provider/file_system_pr ovider_api.h" | 5 #include "chrome/browser/chromeos/extensions/file_system_provider/file_system_pr ovider_api.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte rface.h" | 10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte rface.h" |
11 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" | 11 #include "chrome/browser/chromeos/file_system_provider/request_manager.h" |
12 #include "chrome/browser/chromeos/file_system_provider/request_value.h" | |
12 #include "chrome/browser/chromeos/file_system_provider/service.h" | 13 #include "chrome/browser/chromeos/file_system_provider/service.h" |
13 #include "chrome/common/extensions/api/file_system_provider.h" | 14 #include "chrome/common/extensions/api/file_system_provider.h" |
14 #include "chrome/common/extensions/api/file_system_provider_internal.h" | 15 #include "chrome/common/extensions/api/file_system_provider_internal.h" |
15 | 16 |
16 using chromeos::file_system_provider::ProvidedFileSystemInterface; | 17 using chromeos::file_system_provider::ProvidedFileSystemInterface; |
17 using chromeos::file_system_provider::RequestManager; | 18 using chromeos::file_system_provider::RequestManager; |
19 using chromeos::file_system_provider::RequestValue; | |
18 using chromeos::file_system_provider::Service; | 20 using chromeos::file_system_provider::Service; |
19 | 21 |
20 namespace extensions { | 22 namespace extensions { |
21 namespace { | 23 namespace { |
22 | 24 |
23 // Error names from | 25 // Error names from |
24 // http://www.w3.org/TR/file-system-api/#errors-and-exceptions | 26 // http://www.w3.org/TR/file-system-api/#errors-and-exceptions |
25 const char kNotFoundErrorName[] = "NotFoundError"; | 27 const char kNotFoundErrorName[] = "NotFoundError"; |
26 const char kSecurityErrorName[] = "SecurityError"; | 28 const char kSecurityErrorName[] = "SecurityError"; |
27 | 29 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
144 return false; | 146 return false; |
145 } | 147 } |
146 | 148 |
147 base::ListValue* result = new base::ListValue(); | 149 base::ListValue* result = new base::ListValue(); |
148 SetResult(result); | 150 SetResult(result); |
149 return true; | 151 return true; |
150 } | 152 } |
151 | 153 |
152 bool FileSystemProviderInternalUnmountRequestedSuccessFunction::RunImpl() { | 154 bool FileSystemProviderInternalUnmountRequestedSuccessFunction::RunImpl() { |
153 using api::file_system_provider_internal::UnmountRequestedSuccess::Params; | 155 using api::file_system_provider_internal::UnmountRequestedSuccess::Params; |
154 const scoped_ptr<Params> params(Params::Create(*args_)); | 156 scoped_ptr<Params> params(Params::Create(*args_)); |
155 EXTENSION_FUNCTION_VALIDATE(params); | 157 EXTENSION_FUNCTION_VALIDATE(params); |
156 | 158 |
157 Service* service = Service::Get(GetProfile()); | 159 Service* service = Service::Get(GetProfile()); |
158 DCHECK(service); | 160 DCHECK(service); |
159 | 161 |
160 ProvidedFileSystemInterface* file_system = | 162 ProvidedFileSystemInterface* file_system = |
161 service->GetProvidedFileSystem(extension_id(), params->file_system_id); | 163 service->GetProvidedFileSystem(extension_id(), params->file_system_id); |
162 if (!file_system) { | 164 if (!file_system) { |
163 base::ListValue* result = new base::ListValue(); | 165 base::ListValue* result = new base::ListValue(); |
164 result->Append( | 166 result->Append( |
165 CreateError(kNotFoundErrorName, kResponseFailedErrorMessage)); | 167 CreateError(kNotFoundErrorName, kResponseFailedErrorMessage)); |
166 SetResult(result); | 168 SetResult(result); |
167 return false; | 169 return false; |
168 } | 170 } |
169 | 171 |
170 RequestManager* request_manager = file_system->GetRequestManager(); | 172 RequestManager* request_manager = file_system->GetRequestManager(); |
171 DCHECK(request_manager); | 173 DCHECK(request_manager); |
172 | 174 |
173 if (!request_manager->FulfillRequest(params->request_id, | 175 const int request_id = params->request_id; |
174 scoped_ptr<base::DictionaryValue>(), | 176 if (!request_manager->FulfillRequest( |
175 false /* has_more */)) { | 177 request_id, |
178 make_scoped_ptr(RequestValue::CreateForUnmountSuccess(params.Pass())), | |
179 false /* has_more */)) { | |
176 // TODO(mtomasz): Pass more detailed errors, rather than just a bool. | 180 // TODO(mtomasz): Pass more detailed errors, rather than just a bool. |
177 base::ListValue* result = new base::ListValue(); | 181 base::ListValue* result = new base::ListValue(); |
178 result->Append( | 182 result->Append( |
179 CreateError(kSecurityErrorName, kResponseFailedErrorMessage)); | 183 CreateError(kSecurityErrorName, kResponseFailedErrorMessage)); |
180 SetResult(result); | 184 SetResult(result); |
181 return false; | 185 return false; |
182 } | 186 } |
183 | 187 |
184 base::ListValue* result = new base::ListValue(); | 188 base::ListValue* result = new base::ListValue(); |
185 SetResult(result); | 189 SetResult(result); |
186 return true; | 190 return true; |
187 } | 191 } |
188 | 192 |
189 bool FileSystemProviderInternalUnmountRequestedErrorFunction::RunImpl() { | 193 bool FileSystemProviderInternalUnmountRequestedErrorFunction::RunImpl() { |
190 using api::file_system_provider_internal::UnmountRequestedError::Params; | 194 using api::file_system_provider_internal::UnmountRequestedError::Params; |
191 const scoped_ptr<Params> params(Params::Create(*args_)); | 195 scoped_ptr<Params> params(Params::Create(*args_)); |
kinaba
2014/04/25 06:35:06
nit: The changes for this function looks unneccess
mtomasz
2014/04/28 00:42:47
Done.
| |
192 EXTENSION_FUNCTION_VALIDATE(params); | 196 EXTENSION_FUNCTION_VALIDATE(params); |
193 | 197 |
194 Service* service = Service::Get(GetProfile()); | 198 Service* service = Service::Get(GetProfile()); |
195 DCHECK(service); | 199 DCHECK(service); |
196 | 200 |
197 ProvidedFileSystemInterface* file_system = | 201 ProvidedFileSystemInterface* file_system = |
198 service->GetProvidedFileSystem(extension_id(), params->file_system_id); | 202 service->GetProvidedFileSystem(extension_id(), params->file_system_id); |
199 if (!file_system) { | 203 if (!file_system) { |
200 base::ListValue* result = new base::ListValue(); | 204 base::ListValue* result = new base::ListValue(); |
201 result->Append( | 205 result->Append( |
202 CreateError(kNotFoundErrorName, kResponseFailedErrorMessage)); | 206 CreateError(kNotFoundErrorName, kResponseFailedErrorMessage)); |
203 SetResult(result); | 207 SetResult(result); |
204 return false; | 208 return false; |
205 } | 209 } |
206 | 210 |
207 RequestManager* request_manager = file_system->GetRequestManager(); | 211 RequestManager* request_manager = file_system->GetRequestManager(); |
208 DCHECK(request_manager); | 212 DCHECK(request_manager); |
209 | 213 |
214 const int request_id = params->request_id; | |
210 if (!request_manager->RejectRequest( | 215 if (!request_manager->RejectRequest( |
211 params->request_id, ProviderErrorToFileError(params->error))) { | 216 request_id, ProviderErrorToFileError(params->error))) { |
212 // TODO(mtomasz): Pass more detailed errors, rather than just a bool. | 217 // TODO(mtomasz): Pass more detailed errors, rather than just a bool. |
213 base::ListValue* result = new base::ListValue(); | 218 base::ListValue* result = new base::ListValue(); |
214 result->Append( | 219 result->Append( |
215 CreateError(kSecurityErrorName, kResponseFailedErrorMessage)); | 220 CreateError(kSecurityErrorName, kResponseFailedErrorMessage)); |
216 SetResult(result); | 221 SetResult(result); |
217 return false; | 222 return false; |
218 } | 223 } |
219 | 224 |
220 base::ListValue* result = new base::ListValue(); | 225 base::ListValue* result = new base::ListValue(); |
221 SetResult(result); | 226 SetResult(result); |
222 return true; | 227 return true; |
223 } | 228 } |
224 | 229 |
225 } // namespace extensions | 230 } // namespace extensions |
OLD | NEW |