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); |