From 1f8859ad6ec7ea807c0330ddf5559e13be5fb26c Mon Sep 17 00:00:00 2001 From: "rvargas@google.com" Date: Sat, 24 Jan 2009 01:54:05 +0000 Subject: Change URLRequest to use a ref-counted buffer for actual IO.The ref-counting will prevent the deletion / reuse of memorywhile the buffer is actually being used by pending IO.This seems a very intrusive change, but at least we will be ableto make sure that it works without having to chase every singledestruction of an URLRequest to make sure that any pending IOwas cancelled, and also allows us to avoid blocking onthe object destruction.BUG=5325 Review URL: http://codereview.chromium.org/18390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8603 0039d316-1c4b-4281-b951-d872f2087c98 --- net/url_request/mime_sniffer_proxy.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'net/url_request/mime_sniffer_proxy.h') diff --git a/net/url_request/mime_sniffer_proxy.h b/net/url_request/mime_sniffer_proxy.h index 0029a80..898ea60 100644 --- a/net/url_request/mime_sniffer_proxy.h +++ b/net/url_request/mime_sniffer_proxy.h @@ -19,6 +19,10 @@ // 2) ms_->mime_type() -- returns the sniffed mime type of the data; // valid after OnResponseStarted() is called. +#ifndef NET_URL_REQUEST_MIME_SNIFFER_PROXY_H_ +#define NET_URL_REQUEST_MIME_SNIFFER_PROXY_H_ + +#include "net/base/io_buffer.h" #include "net/url_request/url_request.h" class MimeSnifferProxy : public URLRequest::Delegate { @@ -48,7 +52,7 @@ class MimeSnifferProxy : public URLRequest::Delegate { } // Wrapper around URLRequest::Read. - bool Read(char* buf, int max_bytes, int *bytes_read); + bool Read(net::IOBuffer* buf, int max_bytes, int *bytes_read); // Return the sniffed mime type of the request. Valid after // OnResponseStarted() has been called on the delegate. @@ -69,8 +73,9 @@ class MimeSnifferProxy : public URLRequest::Delegate { bool error_; // A buffer for the first bit of the request. - char buf_[1024]; + scoped_refptr buf_; // The number of bytes we've read into the buffer. int bytes_read_; }; +#endif // NET_URL_REQUEST_MIME_SNIFFER_PROXY_H_ -- cgit v1.1