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

Unified Diff: net/url_request/url_request_simple_job.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
« no previous file with comments | « net/url_request/url_request_simple_job.h ('k') | net/url_request/url_request_simple_job_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_simple_job.cc
diff --git a/net/url_request/url_request_simple_job.cc b/net/url_request/url_request_simple_job.cc
deleted file mode 100644
index 46d9c38a9440500710f9486db003d6bd06ea514c..0000000000000000000000000000000000000000
--- a/net/url_request/url_request_simple_job.cc
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 2012 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_request_simple_job.h"
-
-#include <vector>
-
-#include "base/bind.h"
-#include "base/compiler_specific.h"
-#include "base/memory/ref_counted_memory.h"
-#include "base/message_loop/message_loop.h"
-#include "base/threading/worker_pool.h"
-#include "net/base/io_buffer.h"
-#include "net/base/net_errors.h"
-#include "net/http/http_request_headers.h"
-#include "net/http/http_util.h"
-#include "net/url_request/url_request_status.h"
-
-namespace net {
-
-namespace {
-
-void CopyData(const scoped_refptr<IOBuffer>& buf,
- int buf_size,
- const scoped_refptr<base::RefCountedMemory>& data,
- int64 data_offset) {
- memcpy(buf->data(), data->front() + data_offset, buf_size);
-}
-
-} // namespace
-
-URLRequestSimpleJob::URLRequestSimpleJob(URLRequest* request,
- NetworkDelegate* network_delegate)
- : URLRangeRequestJob(request, network_delegate),
- next_data_offset_(0),
- task_runner_(base::WorkerPool::GetTaskRunner(false)),
- weak_factory_(this) {
-}
-
-void URLRequestSimpleJob::Start() {
- // Start reading asynchronously so that all error reporting and data
- // callbacks happen as they would for network requests.
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&URLRequestSimpleJob::StartAsync, weak_factory_.GetWeakPtr()));
-}
-
-bool URLRequestSimpleJob::GetMimeType(std::string* mime_type) const {
- *mime_type = mime_type_;
- return true;
-}
-
-bool URLRequestSimpleJob::GetCharset(std::string* charset) {
- *charset = charset_;
- return true;
-}
-
-URLRequestSimpleJob::~URLRequestSimpleJob() {}
-
-bool URLRequestSimpleJob::ReadRawData(IOBuffer* buf, int buf_size,
- int* bytes_read) {
- DCHECK(bytes_read);
- buf_size = static_cast<int>(
- std::min(static_cast<int64>(buf_size),
- byte_range_.last_byte_position() - next_data_offset_ + 1));
- DCHECK_GE(buf_size, 0);
- if (buf_size == 0) {
- *bytes_read = 0;
- return true;
- }
-
- // Do memory copy on a background thread. See crbug.com/422489.
- GetTaskRunner()->PostTaskAndReply(
- FROM_HERE, base::Bind(&CopyData, make_scoped_refptr(buf), buf_size, data_,
- next_data_offset_),
- base::Bind(&URLRequestSimpleJob::OnReadCompleted,
- weak_factory_.GetWeakPtr(), buf_size));
- next_data_offset_ += buf_size;
- SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0));
- return false;
-}
-
-void URLRequestSimpleJob::OnReadCompleted(int bytes_read) {
- SetStatus(net::URLRequestStatus());
- NotifyReadComplete(bytes_read);
-}
-
-base::TaskRunner* URLRequestSimpleJob::GetTaskRunner() const {
- return task_runner_.get();
-}
-
-int URLRequestSimpleJob::GetData(std::string* mime_type,
- std::string* charset,
- std::string* data,
- const CompletionCallback& callback) const {
- NOTREACHED();
- return ERR_UNEXPECTED;
-}
-
-int URLRequestSimpleJob::GetRefCountedData(
- std::string* mime_type,
- std::string* charset,
- scoped_refptr<base::RefCountedMemory>* data,
- const CompletionCallback& callback) const {
- scoped_refptr<base::RefCountedString> str_data(new base::RefCountedString());
- int result = GetData(mime_type, charset, &str_data->data(), callback);
- *data = str_data;
- return result;
-}
-
-void URLRequestSimpleJob::StartAsync() {
- if (!request_)
- return;
-
- if (ranges().size() > 1) {
- NotifyDone(URLRequestStatus(URLRequestStatus::FAILED,
- ERR_REQUEST_RANGE_NOT_SATISFIABLE));
- return;
- }
-
- if (!ranges().empty() && range_parse_result() == OK)
- byte_range_ = ranges().front();
-
- const int result =
- GetRefCountedData(&mime_type_, &charset_, &data_,
- base::Bind(&URLRequestSimpleJob::OnGetDataCompleted,
- weak_factory_.GetWeakPtr()));
-
- if (result != ERR_IO_PENDING)
- OnGetDataCompleted(result);
-}
-
-void URLRequestSimpleJob::OnGetDataCompleted(int result) {
- if (result == OK) {
- // Notify that the headers are complete
- if (!byte_range_.ComputeBounds(data_->size())) {
- NotifyDone(URLRequestStatus(URLRequestStatus::FAILED,
- ERR_REQUEST_RANGE_NOT_SATISFIABLE));
- return;
- }
-
- next_data_offset_ = byte_range_.first_byte_position();
- set_expected_content_size(byte_range_.last_byte_position() -
- next_data_offset_ + 1);
- NotifyHeadersComplete();
- } else {
- NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED, result));
- }
-}
-
-} // namespace net
« no previous file with comments | « net/url_request/url_request_simple_job.h ('k') | net/url_request/url_request_simple_job_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698