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

Side by Side Diff: chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc

Issue 257493004: [fsp] Refactor handling operations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed tests. Created 6 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 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);
(...skipping 30 matching lines...) Expand all
216 SetResult(result); 220 SetResult(result);
217 return false; 221 return false;
218 } 222 }
219 223
220 base::ListValue* result = new base::ListValue(); 224 base::ListValue* result = new base::ListValue();
221 SetResult(result); 225 SetResult(result);
222 return true; 226 return true;
223 } 227 }
224 228
225 } // namespace extensions 229 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698