OLD | NEW |
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 "chrome/browser/ui/webui/options/certificate_manager_handler.h" | 5 #include "chrome/browser/ui/webui/options/certificate_manager_handler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 : public base::RefCountedThreadSafe<FileAccessProvider> { | 198 : public base::RefCountedThreadSafe<FileAccessProvider> { |
199 public: | 199 public: |
200 // The first parameter is 0 on success or errno on failure. The second | 200 // The first parameter is 0 on success or errno on failure. The second |
201 // parameter is read result. | 201 // parameter is read result. |
202 typedef base::Callback<void(const int*, const std::string*)> ReadCallback; | 202 typedef base::Callback<void(const int*, const std::string*)> ReadCallback; |
203 | 203 |
204 // The first parameter is 0 on success or errno on failure. The second | 204 // The first parameter is 0 on success or errno on failure. The second |
205 // parameter is the number of bytes written on success. | 205 // parameter is the number of bytes written on success. |
206 typedef base::Callback<void(const int*, const int*)> WriteCallback; | 206 typedef base::Callback<void(const int*, const int*)> WriteCallback; |
207 | 207 |
208 CancelableTaskTracker::TaskId StartRead(const base::FilePath& path, | 208 base::CancelableTaskTracker::TaskId StartRead( |
209 const ReadCallback& callback, | 209 const base::FilePath& path, |
210 CancelableTaskTracker* tracker); | 210 const ReadCallback& callback, |
211 CancelableTaskTracker::TaskId StartWrite(const base::FilePath& path, | 211 base::CancelableTaskTracker* tracker); |
212 const std::string& data, | 212 base::CancelableTaskTracker::TaskId StartWrite( |
213 const WriteCallback& callback, | 213 const base::FilePath& path, |
214 CancelableTaskTracker* tracker); | 214 const std::string& data, |
| 215 const WriteCallback& callback, |
| 216 base::CancelableTaskTracker* tracker); |
215 | 217 |
216 private: | 218 private: |
217 friend class base::RefCountedThreadSafe<FileAccessProvider>; | 219 friend class base::RefCountedThreadSafe<FileAccessProvider>; |
218 virtual ~FileAccessProvider() {} | 220 virtual ~FileAccessProvider() {} |
219 | 221 |
220 // Reads file at |path|. |saved_errno| is 0 on success or errno on failure. | 222 // Reads file at |path|. |saved_errno| is 0 on success or errno on failure. |
221 // When success, |data| has file content. | 223 // When success, |data| has file content. |
222 void DoRead(const base::FilePath& path, | 224 void DoRead(const base::FilePath& path, |
223 int* saved_errno, | 225 int* saved_errno, |
224 std::string* data); | 226 std::string* data); |
225 // Writes data to file at |path|. |saved_errno| is 0 on success or errno on | 227 // Writes data to file at |path|. |saved_errno| is 0 on success or errno on |
226 // failure. When success, |bytes_written| has number of bytes written. | 228 // failure. When success, |bytes_written| has number of bytes written. |
227 void DoWrite(const base::FilePath& path, | 229 void DoWrite(const base::FilePath& path, |
228 const std::string& data, | 230 const std::string& data, |
229 int* saved_errno, | 231 int* saved_errno, |
230 int* bytes_written); | 232 int* bytes_written); |
231 }; | 233 }; |
232 | 234 |
233 CancelableTaskTracker::TaskId FileAccessProvider::StartRead( | 235 base::CancelableTaskTracker::TaskId FileAccessProvider::StartRead( |
234 const base::FilePath& path, | 236 const base::FilePath& path, |
235 const ReadCallback& callback, | 237 const ReadCallback& callback, |
236 CancelableTaskTracker* tracker) { | 238 base::CancelableTaskTracker* tracker) { |
237 // Owned by reply callback posted below. | 239 // Owned by reply callback posted below. |
238 int* saved_errno = new int(0); | 240 int* saved_errno = new int(0); |
239 std::string* data = new std::string(); | 241 std::string* data = new std::string(); |
240 | 242 |
241 // Post task to file thread to read file. | 243 // Post task to file thread to read file. |
242 return tracker->PostTaskAndReply( | 244 return tracker->PostTaskAndReply( |
243 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE).get(), | 245 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE).get(), |
244 FROM_HERE, | 246 FROM_HERE, |
245 base::Bind(&FileAccessProvider::DoRead, this, path, saved_errno, data), | 247 base::Bind(&FileAccessProvider::DoRead, this, path, saved_errno, data), |
246 base::Bind(callback, base::Owned(saved_errno), base::Owned(data))); | 248 base::Bind(callback, base::Owned(saved_errno), base::Owned(data))); |
247 } | 249 } |
248 | 250 |
249 CancelableTaskTracker::TaskId FileAccessProvider::StartWrite( | 251 base::CancelableTaskTracker::TaskId FileAccessProvider::StartWrite( |
250 const base::FilePath& path, | 252 const base::FilePath& path, |
251 const std::string& data, | 253 const std::string& data, |
252 const WriteCallback& callback, | 254 const WriteCallback& callback, |
253 CancelableTaskTracker* tracker) { | 255 base::CancelableTaskTracker* tracker) { |
254 // Owned by reply callback posted below. | 256 // Owned by reply callback posted below. |
255 int* saved_errno = new int(0); | 257 int* saved_errno = new int(0); |
256 int* bytes_written = new int(0); | 258 int* bytes_written = new int(0); |
257 | 259 |
258 // Post task to file thread to write file. | 260 // Post task to file thread to write file. |
259 return tracker->PostTaskAndReply( | 261 return tracker->PostTaskAndReply( |
260 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE).get(), | 262 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE).get(), |
261 FROM_HERE, | 263 FROM_HERE, |
262 base::Bind(&FileAccessProvider::DoWrite, | 264 base::Bind(&FileAccessProvider::DoWrite, |
263 this, | 265 this, |
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1126 title_value, | 1128 title_value, |
1127 error_value, | 1129 error_value, |
1128 cert_error_list); | 1130 cert_error_list); |
1129 } | 1131 } |
1130 | 1132 |
1131 gfx::NativeWindow CertificateManagerHandler::GetParentWindow() const { | 1133 gfx::NativeWindow CertificateManagerHandler::GetParentWindow() const { |
1132 return web_ui()->GetWebContents()->GetView()->GetTopLevelNativeWindow(); | 1134 return web_ui()->GetWebContents()->GetView()->GetTopLevelNativeWindow(); |
1133 } | 1135 } |
1134 | 1136 |
1135 } // namespace options | 1137 } // namespace options |
OLD | NEW |