summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-29 20:38:11 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-29 20:38:11 +0000
commitd14c7ac0a14a2dc3984022aeadf830a3e30c99f3 (patch)
tree14b94d459b30e5156fa32daf318a217f79392d32 /net/http
parent5d25637a208dbed17b10d31eb91221e6332a5e62 (diff)
downloadchromium_src-d14c7ac0a14a2dc3984022aeadf830a3e30c99f3.zip
chromium_src-d14c7ac0a14a2dc3984022aeadf830a3e30c99f3.tar.gz
chromium_src-d14c7ac0a14a2dc3984022aeadf830a3e30c99f3.tar.bz2
Remove code path that passes a file handle to the renderer
Since the code now does range request without any caching the code path for passing file handle is not used any more. Changes: 1. Remove response_data_file in webkit_glue::ResourceResponseHead 2. Remove response_data_file in net::ResourceInfo 3. Remove code that passes file handle using IPC 4. Remove code that passes file hadnle from network layer to ResourceDispatcherHost 5. Remove MediaResourceHandler 6. Remove code in disk_cache that expose the file handle 7. Remove ChromeURLRequestContext::CreateOffTheRecordForMedia() so no more OTR request context for media, in OTR mode simply memory cache is used 8. Reset cache size for media cache to default BUG=12249 BUG=12256 Review URL: http://codereview.chromium.org/113931 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17227 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_cache.cc31
-rw-r--r--net/http/http_cache_unittest.cc98
-rw-r--r--net/http/http_network_transaction_unittest.cc2
-rw-r--r--net/http/http_response_info.cc2
-rw-r--r--net/http/http_response_info.h5
5 files changed, 3 insertions, 135 deletions
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
index 1beb36f..48178a6 100644
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
@@ -587,15 +587,6 @@ void HttpCache::Transaction::SetRequest(const HttpRequestInfo* request) {
if (cache_->mode() == RECORD)
effective_load_flags_ |= LOAD_BYPASS_CACHE;
- // If HttpCache has type MEDIA make sure LOAD_ENABLE_DOWNLOAD_FILE is set,
- // otherwise make sure LOAD_ENABLE_DOWNLOAD_FILE is not set when HttpCache
- // has type other than MEDIA.
- if (cache_->type() == MEDIA_CACHE) {
- DCHECK(effective_load_flags_ & LOAD_ENABLE_DOWNLOAD_FILE);
- } else {
- DCHECK(!(effective_load_flags_ & LOAD_ENABLE_DOWNLOAD_FILE));
- }
-
// Some headers imply load flags. The order here is significant.
//
// LOAD_DISABLE_CACHE : no cache read or write
@@ -786,14 +777,6 @@ int HttpCache::Transaction::ReadResponseInfoFromEntry() {
if (!HttpCache::ReadResponseInfo(entry_->disk_entry, &response_))
return ERR_CACHE_READ_FAILURE;
-
- // If the cache object is used for media file, we want the file handle of
- // response data.
- if (cache_->type() == MEDIA_CACHE) {
- response_.response_data_file =
- entry_->disk_entry->GetPlatformFile(kResponseContentIndex);
- }
-
return OK;
}
@@ -854,20 +837,6 @@ void HttpCache::Transaction::TruncateResponseData() {
if (!entry_)
return;
- // If the cache is for media files, we try to prepare the response data
- // file as an external file and truncate it afterwards.
- // Recipient of ResponseInfo should judge from |response_.response_data_file|
- // to tell whether an external file of response data is available for reading
- // or not.
- // TODO(hclam): we should prepare the target stream as extern file only
- // if we get a valid response from server, i.e. 200. We don't want empty
- // cache files for redirection or external files for erroneous requests.
- response_.response_data_file = base::kInvalidPlatformFileValue;
- if (cache_->type() == MEDIA_CACHE) {
- response_.response_data_file =
- entry_->disk_entry->UseExternalFile(kResponseContentIndex);
- }
-
// Truncate the stream.
WriteToEntry(kResponseContentIndex, 0, NULL, 0);
}
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc
index 7f84a36..ef127a2 100644
--- a/net/http/http_cache_unittest.cc
+++ b/net/http/http_cache_unittest.cc
@@ -6,7 +6,6 @@
#include "base/hash_tables.h"
#include "base/message_loop.h"
-#include "base/platform_file.h"
#include "base/string_util.h"
#include "net/base/net_errors.h"
#include "net/base/load_flags.h"
@@ -28,11 +27,11 @@ class MockDiskEntry : public disk_cache::Entry,
public base::RefCounted<MockDiskEntry> {
public:
MockDiskEntry()
- : test_mode_(0), doomed_(false), platform_file_(global_platform_file_) {
+ : test_mode_(0), doomed_(false) {
}
MockDiskEntry(const std::string& key)
- : key_(key), doomed_(false), platform_file_(global_platform_file_) {
+ : key_(key), doomed_(false) {
//
// 'key' is prefixed with an identifier if it corresponds to a cached POST.
// Skip past that to locate the actual URL.
@@ -117,18 +116,6 @@ class MockDiskEntry : public disk_cache::Entry,
return buf_len;
}
- base::PlatformFile UseExternalFile(int index) {
- return platform_file_;
- }
-
- base::PlatformFile GetPlatformFile(int index) {
- return platform_file_;
- }
-
- static void set_global_platform_file(base::PlatformFile platform_file) {
- global_platform_file_ = platform_file;
- }
-
private:
// Unlike the callbacks for MockHttpTransaction, we want this one to run even
// if the consumer called Close on the MockDiskEntry. We achieve that by
@@ -145,13 +132,8 @@ class MockDiskEntry : public disk_cache::Entry,
std::vector<char> data_[2];
int test_mode_;
bool doomed_;
- base::PlatformFile platform_file_;
- static base::PlatformFile global_platform_file_;
};
-base::PlatformFile MockDiskEntry::global_platform_file_ =
- base::kInvalidPlatformFileValue;
-
class MockDiskCache : public disk_cache::Backend {
public:
MockDiskCache() : open_count_(0), create_count_(0), fail_requests_(0) {
@@ -1257,79 +1239,3 @@ TEST(HttpCache, OutlivedTransactions) {
delete cache;
delete trans;
}
-
-// Make sure Entry::UseExternalFile is called when a new entry is created in
-// a HttpCache with MEDIA type. Also make sure Entry::GetPlatformFile is called
-// when an entry is loaded from a HttpCache with MEDIA type. Also confirm we
-// will receive a file handle in ResponseInfo from a media cache.
-TEST(HttpCache, SimpleGET_MediaCache) {
- // Initialize the HttpCache with MEDIA_CACHE type.
- MockHttpCache cache;
- cache.http_cache()->set_type(net::MEDIA_CACHE);
-
- // Define some fake file handles for testing.
- base::PlatformFile kFakePlatformFile1, kFakePlatformFile2;
-#if defined(OS_WIN)
- kFakePlatformFile1 = reinterpret_cast<base::PlatformFile>(1);
- kFakePlatformFile2 = reinterpret_cast<base::PlatformFile>(2);
-#else
- kFakePlatformFile1 = 1;
- kFakePlatformFile2 = 2;
-#endif
-
- ScopedMockTransaction trans_info(kSimpleGET_Transaction);
- trans_info.load_flags |= net::LOAD_ENABLE_DOWNLOAD_FILE;
- TestCompletionCallback callback;
-
- {
- // Set the fake file handle to MockDiskEntry so cache is written with an
- // entry created with our fake file handle.
- MockDiskEntry::set_global_platform_file(kFakePlatformFile1);
-
- scoped_ptr<net::HttpTransaction> trans(
- cache.http_cache()->CreateTransaction());
- ASSERT_TRUE(trans.get());
-
- MockHttpRequest request(trans_info);
-
- int rv = trans->Start(&request, &callback);
- if (rv == net::ERR_IO_PENDING)
- rv = callback.WaitForResult();
- ASSERT_EQ(net::OK, rv);
-
- const net::HttpResponseInfo* response = trans->GetResponseInfo();
- ASSERT_TRUE(response);
-
- ASSERT_EQ(kFakePlatformFile1, response->response_data_file);
-
- ReadAndVerifyTransaction(trans.get(), trans_info);
- }
-
- // Load only from cache so we would get the same file handle.
- trans_info.load_flags |= net::LOAD_ONLY_FROM_CACHE;
-
- {
- // Set a different file handle value to MockDiskEntry so any new entry
- // created in the cache won't have the same file handle value.
- MockDiskEntry::set_global_platform_file(kFakePlatformFile2);
-
- scoped_ptr<net::HttpTransaction> trans(
- cache.http_cache()->CreateTransaction());
- ASSERT_TRUE(trans.get());
-
- MockHttpRequest request(trans_info);
-
- int rv = trans->Start(&request, &callback);
- if (rv == net::ERR_IO_PENDING)
- rv = callback.WaitForResult();
- ASSERT_EQ(net::OK, rv);
-
- const net::HttpResponseInfo* response = trans->GetResponseInfo();
- ASSERT_TRUE(response);
-
- // Make sure we get the same file handle as in the first request.
- ASSERT_EQ(kFakePlatformFile1, response->response_data_file);
-
- ReadAndVerifyTransaction(trans.get(), trans_info);
- }
-}
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 0dcb91e..c8435d2f 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -2598,8 +2598,6 @@ TEST_F(HttpNetworkTransactionTest, ResetStateForRestart) {
EXPECT_EQ(NULL, trans->response_.auth_challenge.get());
EXPECT_EQ(NULL, trans->response_.headers.get());
EXPECT_EQ(false, trans->response_.was_cached);
- EXPECT_EQ(base::kInvalidPlatformFileValue,
- trans->response_.response_data_file);
EXPECT_EQ(0, trans->response_.ssl_info.cert_status);
EXPECT_FALSE(trans->response_.vary_data.is_valid());
}
diff --git a/net/http/http_response_info.cc b/net/http/http_response_info.cc
index a94aa91..bc2fbe3 100644
--- a/net/http/http_response_info.cc
+++ b/net/http/http_response_info.cc
@@ -8,7 +8,7 @@
namespace net {
HttpResponseInfo::HttpResponseInfo()
- : was_cached(false), response_data_file(base::kInvalidPlatformFileValue) {
+ : was_cached(false) {
}
HttpResponseInfo::~HttpResponseInfo() {
diff --git a/net/http/http_response_info.h b/net/http/http_response_info.h
index d2803d1..88f89e7 100644
--- a/net/http/http_response_info.h
+++ b/net/http/http_response_info.h
@@ -5,7 +5,6 @@
#ifndef NET_HTTP_HTTP_RESPONSE_INFO_H_
#define NET_HTTP_HTTP_RESPONSE_INFO_H_
-#include "base/platform_file.h"
#include "base/time.h"
#include "net/base/auth.h"
#include "net/base/ssl_info.h"
@@ -50,10 +49,6 @@ class HttpResponseInfo {
// The "Vary" header data for this response.
HttpVaryData vary_data;
-
- // Platform specific file handle to the response data, if response data is
- // not in a standalone file, its value is base::kInvalidPlatformFileValue.
- base::PlatformFile response_data_file;
};
} // namespace net