| Index: net/base/file_stream.cc
|
| diff --git a/net/base/file_stream.cc b/net/base/file_stream.cc
|
| index fd2eb4af3f93f1e227b820815283c4df326c0600..e69e08a8d2c2f0ea4e0d2439264cbdefaaeb3874 100644
|
| --- a/net/base/file_stream.cc
|
| +++ b/net/base/file_stream.cc
|
| @@ -93,6 +93,34 @@ int FileStream::OpenSync(const base::FilePath& path, int open_flags) {
|
| return context_->OpenSync(path, open_flags_);
|
| }
|
|
|
| +#if defined(OS_ANDROID)
|
| +int FileStream::OpenContentUrl(const GURL& content_url, int open_flags,
|
| + const CompletionCallback& callback) {
|
| + DCHECK(content_url.SchemeIsContent());
|
| + if (IsOpen()) {
|
| + DLOG(FATAL) << "Content URL is already open!";
|
| + return ERR_UNEXPECTED;
|
| + }
|
| +
|
| + open_flags_ = open_flags;
|
| + DCHECK(is_async());
|
| + context_->OpenContentUrlAsync(content_url, open_flags, callback);
|
| + return ERR_IO_PENDING;
|
| +}
|
| +
|
| +int FileStream::OpenContentUrlSync(const GURL& content_url, int open_flags) {
|
| + DCHECK(content_url.SchemeIsContent());
|
| + if (IsOpen()) {
|
| + DLOG(FATAL) << "Content URL is already open!";
|
| + return ERR_UNEXPECTED;
|
| + }
|
| +
|
| + open_flags_ = open_flags;
|
| + DCHECK(!is_async());
|
| + return context_->OpenContentUrlSync(content_url, open_flags_);
|
| +}
|
| +#endif
|
| +
|
| int FileStream::Close(const CompletionCallback& callback) {
|
| DCHECK(is_async());
|
| context_->CloseAsync(callback);
|
|
|