Chromium Code Reviews| Index: content/browser/loader/temporary_file_stream.h |
| diff --git a/content/browser/loader/temporary_file_stream.h b/content/browser/loader/temporary_file_stream.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..50f51a64021fb10d0da825cd6f69211236ae1e0b |
| --- /dev/null |
| +++ b/content/browser/loader/temporary_file_stream.h |
| @@ -0,0 +1,43 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_BROWSER_LOADER_TEMPORARY_FILE_STREAM_H_ |
| +#define CONTENT_BROWSER_LOADER_TEMPORARY_FILE_STREAM_H_ |
| + |
| +#include "base/callback_forward.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/platform_file.h" |
| +#include "content/common/content_export.h" |
| + |
| +namespace net { |
| +class FileStream; |
| +} |
| + |
| +namespace webkit_blob { |
| +class ShareableFileReference; |
| +} |
| + |
| +namespace content { |
| + |
| +typedef base::Callback<void(base::PlatformFileError, |
| + scoped_ptr<net::FileStream>, |
| + webkit_blob::ShareableFileReference*)> |
| + CreateTemporaryFileStreamCallback; |
| + |
| +// Creates a temporary file and asynchronously calls |callback| with a |
| +// net::FileStream and webkit_blob::ShareableFileReference The file is deleted |
|
mmenke
2014/01/16 16:43:26
nit: period after webkit_blob::ShareableFileRefer
davidben
2014/01/29 21:41:50
Done.
|
| +// when the webkit_blob::ShareableFileReference is deleted. Note it is the |
| +// consumer's responsibility to ensure the webkit_blob::ShareableFileReference |
| +// stays in scope until net::FileStream has finished closing the file. On error, |
| +// |callback| is called with an error in the first parameter. |
|
mmenke
2014/01/16 16:43:26
I don't think it's obvious that this method is not
davidben
2014/01/29 21:41:50
Done.
|
| +// |
| +// TODO(davidben): Juggling the net::FileStream and |
| +// webkit_blob::ShareableFileReference lifetimes is a nuisance. The two should |
| +// be tied together so the consumer need not deal with it. |
| +CONTENT_EXPORT void CreateTemporaryFileStream( |
| + const CreateTemporaryFileStreamCallback& callback); |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_BROWSER_LOADER_TEMPORARY_FILE_STREAM_H_ |