Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1416)

Unified Diff: net/url_request/url_fetcher_response_writer.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/url_request/url_fetcher_response_writer.cc
diff --git a/net/url_request/url_fetcher_response_writer.cc b/net/url_request/url_fetcher_response_writer.cc
deleted file mode 100644
index 7f162aec893f46e244997909d76e4474ac555686..0000000000000000000000000000000000000000
--- a/net/url_request/url_fetcher_response_writer.cc
+++ /dev/null
@@ -1,197 +0,0 @@
-// Copyright (c) 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.
-
-#include "net/url_request/url_fetcher_response_writer.h"
-
-#include "base/files/file_util.h"
-#include "base/location.h"
-#include "base/profiler/scoped_tracker.h"
-#include "base/sequenced_task_runner.h"
-#include "base/task_runner_util.h"
-#include "net/base/file_stream.h"
-#include "net/base/io_buffer.h"
-#include "net/base/net_errors.h"
-
-namespace net {
-
-URLFetcherStringWriter* URLFetcherResponseWriter::AsStringWriter() {
- return NULL;
-}
-
-URLFetcherFileWriter* URLFetcherResponseWriter::AsFileWriter() {
- return NULL;
-}
-
-URLFetcherStringWriter::URLFetcherStringWriter() {
-}
-
-URLFetcherStringWriter::~URLFetcherStringWriter() {
-}
-
-int URLFetcherStringWriter::Initialize(const CompletionCallback& callback) {
- data_.clear();
- return OK;
-}
-
-int URLFetcherStringWriter::Write(IOBuffer* buffer,
- int num_bytes,
- const CompletionCallback& callback) {
- data_.append(buffer->data(), num_bytes);
- return num_bytes;
-}
-
-int URLFetcherStringWriter::Finish(const CompletionCallback& callback) {
- // Do nothing.
- return OK;
-}
-
-URLFetcherStringWriter* URLFetcherStringWriter::AsStringWriter() {
- return this;
-}
-
-URLFetcherFileWriter::URLFetcherFileWriter(
- scoped_refptr<base::SequencedTaskRunner> file_task_runner,
- const base::FilePath& file_path)
- : file_task_runner_(file_task_runner),
- file_path_(file_path),
- owns_file_(false),
- weak_factory_(this) {
- DCHECK(file_task_runner_.get());
-}
-
-URLFetcherFileWriter::~URLFetcherFileWriter() {
- CloseAndDeleteFile();
-}
-
-int URLFetcherFileWriter::Initialize(const CompletionCallback& callback) {
- file_stream_.reset(new FileStream(file_task_runner_));
-
- int result = ERR_IO_PENDING;
- if (file_path_.empty()) {
- base::FilePath* temp_file_path = new base::FilePath;
- base::PostTaskAndReplyWithResult(
- file_task_runner_.get(),
- FROM_HERE,
- base::Bind(&base::CreateTemporaryFile, temp_file_path),
- base::Bind(&URLFetcherFileWriter::DidCreateTempFile,
- weak_factory_.GetWeakPtr(),
- callback,
- base::Owned(temp_file_path)));
- } else {
- result = file_stream_->Open(
- file_path_,
- base::File::FLAG_WRITE | base::File::FLAG_ASYNC |
- base::File::FLAG_CREATE_ALWAYS,
- base::Bind(&URLFetcherFileWriter::DidOpenFile,
- weak_factory_.GetWeakPtr(),
- callback));
- DCHECK_NE(OK, result);
- }
- return result;
-}
-
-int URLFetcherFileWriter::Write(IOBuffer* buffer,
- int num_bytes,
- const CompletionCallback& callback) {
- DCHECK(file_stream_);
- DCHECK(owns_file_);
-
- int result = file_stream_->Write(buffer, num_bytes,
- base::Bind(&URLFetcherFileWriter::DidWrite,
- weak_factory_.GetWeakPtr(),
- callback));
- if (result < 0 && result != ERR_IO_PENDING)
- CloseAndDeleteFile();
-
- return result;
-}
-
-int URLFetcherFileWriter::Finish(const CompletionCallback& callback) {
- // If the file_stream_ still exists at this point, close it.
- if (file_stream_) {
- int result = file_stream_->Close(base::Bind(
- &URLFetcherFileWriter::CloseComplete,
- weak_factory_.GetWeakPtr(), callback));
- if (result != ERR_IO_PENDING)
- file_stream_.reset();
- return result;
- }
- return OK;
-}
-
-URLFetcherFileWriter* URLFetcherFileWriter::AsFileWriter() {
- return this;
-}
-
-void URLFetcherFileWriter::DisownFile() {
- // Disowning is done by the delegate's OnURLFetchComplete method.
- // The file should be closed by the time that method is called.
- DCHECK(!file_stream_);
-
- owns_file_ = false;
-}
-
-void URLFetcherFileWriter::DidWrite(const CompletionCallback& callback,
- int result) {
- if (result < 0)
- CloseAndDeleteFile();
-
- callback.Run(result);
-}
-
-void URLFetcherFileWriter::CloseAndDeleteFile() {
- if (!owns_file_)
- return;
-
- file_stream_.reset();
- DisownFile();
- file_task_runner_->PostTask(FROM_HERE,
- base::Bind(base::IgnoreResult(&base::DeleteFile),
- file_path_,
- false /* recursive */));
-}
-
-void URLFetcherFileWriter::DidCreateTempFile(const CompletionCallback& callback,
- base::FilePath* temp_file_path,
- bool success) {
- if (!success) {
- callback.Run(ERR_FILE_NOT_FOUND);
- return;
- }
- file_path_ = *temp_file_path;
- owns_file_ = true;
- const int result = file_stream_->Open(
- file_path_,
- base::File::FLAG_WRITE | base::File::FLAG_ASYNC |
- base::File::FLAG_OPEN,
- base::Bind(&URLFetcherFileWriter::DidOpenFile,
- weak_factory_.GetWeakPtr(),
- callback));
- if (result != ERR_IO_PENDING)
- DidOpenFile(callback, result);
-}
-
-void URLFetcherFileWriter::DidOpenFile(const CompletionCallback& callback,
- int result) {
- // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed.
- tracked_objects::ScopedTracker tracking_profile(
- FROM_HERE_WITH_EXPLICIT_FUNCTION(
- "423948 URLFetcherFileWriter::DidOpenFile"));
-
- if (result == OK)
- owns_file_ = true;
- else
- CloseAndDeleteFile();
-
- callback.Run(result);
-}
-
-void URLFetcherFileWriter::CloseComplete(const CompletionCallback& callback,
- int result) {
- // Destroy |file_stream_| whether or not the close succeeded.
- file_stream_.reset();
- callback.Run(result);
-}
-
-} // namespace net
« no previous file with comments | « net/url_request/url_fetcher_response_writer.h ('k') | net/url_request/url_fetcher_response_writer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698