OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/file_system_provider/operations/create_directo
ry.h" | 5 #include "chrome/browser/chromeos/file_system_provider/operations/create_directo
ry.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "chrome/common/extensions/api/file_system_provider.h" | 9 #include "chrome/common/extensions/api/file_system_provider.h" |
10 #include "chrome/common/extensions/api/file_system_provider_internal.h" | 10 #include "chrome/common/extensions/api/file_system_provider_internal.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 directory_path_(directory_path), | 24 directory_path_(directory_path), |
25 exclusive_(exclusive), | 25 exclusive_(exclusive), |
26 recursive_(recursive), | 26 recursive_(recursive), |
27 callback_(callback) { | 27 callback_(callback) { |
28 } | 28 } |
29 | 29 |
30 CreateDirectory::~CreateDirectory() { | 30 CreateDirectory::~CreateDirectory() { |
31 } | 31 } |
32 | 32 |
33 bool CreateDirectory::Execute(int request_id) { | 33 bool CreateDirectory::Execute(int request_id) { |
| 34 if (!file_system_info_.writable()) |
| 35 return false; |
| 36 |
34 scoped_ptr<base::DictionaryValue> values(new base::DictionaryValue); | 37 scoped_ptr<base::DictionaryValue> values(new base::DictionaryValue); |
35 values->SetString("directoryPath", directory_path_.AsUTF8Unsafe()); | 38 values->SetString("directoryPath", directory_path_.AsUTF8Unsafe()); |
36 values->SetBoolean("exclusive", exclusive_); | 39 values->SetBoolean("exclusive", exclusive_); |
37 values->SetBoolean("recursive", recursive_); | 40 values->SetBoolean("recursive", recursive_); |
38 | 41 |
39 return SendEvent(request_id, | 42 return SendEvent(request_id, |
40 extensions::api::file_system_provider:: | 43 extensions::api::file_system_provider:: |
41 OnCreateDirectoryRequested::kEventName, | 44 OnCreateDirectoryRequested::kEventName, |
42 values.Pass()); | 45 values.Pass()); |
43 } | 46 } |
44 | 47 |
45 void CreateDirectory::OnSuccess(int /* request_id */, | 48 void CreateDirectory::OnSuccess(int /* request_id */, |
46 scoped_ptr<RequestValue> /* result */, | 49 scoped_ptr<RequestValue> /* result */, |
47 bool has_more) { | 50 bool has_more) { |
48 callback_.Run(base::File::FILE_OK); | 51 callback_.Run(base::File::FILE_OK); |
49 } | 52 } |
50 | 53 |
51 void CreateDirectory::OnError(int /* request_id */, | 54 void CreateDirectory::OnError(int /* request_id */, |
52 scoped_ptr<RequestValue> /* result */, | 55 scoped_ptr<RequestValue> /* result */, |
53 base::File::Error error) { | 56 base::File::Error error) { |
54 callback_.Run(error); | 57 callback_.Run(error); |
55 } | 58 } |
56 | 59 |
57 } // namespace operations | 60 } // namespace operations |
58 } // namespace file_system_provider | 61 } // namespace file_system_provider |
59 } // namespace chromeos | 62 } // namespace chromeos |
OLD | NEW |