summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/async_resource_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/renderer_host/async_resource_handler.cc')
-rw-r--r--chrome/browser/renderer_host/async_resource_handler.cc109
1 files changed, 0 insertions, 109 deletions
diff --git a/chrome/browser/renderer_host/async_resource_handler.cc b/chrome/browser/renderer_host/async_resource_handler.cc
deleted file mode 100644
index 2708a22..0000000
--- a/chrome/browser/renderer_host/async_resource_handler.cc
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright (c) 2006-2008 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 "chrome/browser/renderer_host/async_resource_handler.h"
-
-base::SharedMemory* AsyncResourceHandler::spare_read_buffer_;
-
-AsyncResourceHandler::AsyncResourceHandler(
- ResourceDispatcherHost::Receiver* receiver,
- int render_process_host_id,
- int routing_id,
- HANDLE render_process,
- const GURL& url,
- ResourceDispatcherHost* resource_dispatcher_host)
- : receiver_(receiver),
- render_process_host_id_(render_process_host_id),
- routing_id_(routing_id),
- render_process_(render_process),
- rdh_(resource_dispatcher_host) {
-}
-
-bool AsyncResourceHandler::OnUploadProgress(int request_id,
- uint64 position,
- uint64 size) {
- return receiver_->Send(new ViewMsg_Resource_UploadProgress(routing_id_,
- request_id,
- position, size));
-}
-
-bool AsyncResourceHandler::OnRequestRedirected(int request_id,
- const GURL& new_url) {
- return receiver_->Send(new ViewMsg_Resource_ReceivedRedirect(routing_id_,
- request_id,
- new_url));
-}
-
-bool AsyncResourceHandler::OnResponseStarted(int request_id,
- ResourceResponse* response) {
- receiver_->Send(new ViewMsg_Resource_ReceivedResponse(
- routing_id_, request_id, response->response_head));
- return true;
-}
-
-bool AsyncResourceHandler::OnWillRead(int request_id,
- char** buf, int* buf_size,
- int min_size) {
- DCHECK(min_size == -1);
- static const int kReadBufSize = 32768;
- if (spare_read_buffer_) {
- read_buffer_.reset(spare_read_buffer_);
- spare_read_buffer_ = NULL;
- } else {
- read_buffer_.reset(new base::SharedMemory);
- if (!read_buffer_->Create(std::wstring(), false, false, kReadBufSize))
- return false;
- if (!read_buffer_->Map(kReadBufSize))
- return false;
- }
- *buf = static_cast<char*>(read_buffer_->memory());
- *buf_size = kReadBufSize;
- return true;
-}
-
-bool AsyncResourceHandler::OnReadCompleted(int request_id, int* bytes_read) {
- if (!*bytes_read)
- return true;
- DCHECK(read_buffer_.get());
-
- if (!rdh_->WillSendData(render_process_host_id_, request_id)) {
- // We should not send this data now, we have too many pending requests.
- return true;
- }
-
- base::SharedMemoryHandle handle;
- if (!read_buffer_->GiveToProcess(render_process_, &handle)) {
- // We wrongfully incremented the pending data count. Fake an ACK message
- // to fix this. We can't move this call above the WillSendData because
- // it's killing our read_buffer_, and we don't want that when we pause
- // the request.
- rdh_->OnDataReceivedACK(render_process_host_id_, request_id);
- return false;
- }
-
- receiver_->Send(new ViewMsg_Resource_DataReceived(
- routing_id_, request_id, handle, *bytes_read));
-
- return true;
-}
-
-bool AsyncResourceHandler::OnResponseCompleted(int request_id,
- const URLRequestStatus& status) {
- receiver_->Send(new ViewMsg_Resource_RequestComplete(routing_id_,
- request_id, status));
-
- // If we still have a read buffer, then see about caching it for later...
- if (spare_read_buffer_) {
- read_buffer_.reset();
- } else if (read_buffer_.get() && read_buffer_->memory()) {
- spare_read_buffer_ = read_buffer_.release();
- }
- return true;
-}
-
-// static
-void AsyncResourceHandler::GlobalCleanup() {
- delete spare_read_buffer_;
- spare_read_buffer_ = NULL;
-}