diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 17:38:24 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 17:38:24 +0000 |
commit | 7a7c11a648e1fc761695cd4e3794bcc80c6b1a6e (patch) | |
tree | a3868adbefe5a999195792c7870e00ad62b35aef /net/http/http_cache_unittest.cc | |
parent | 13cd66e6bf9f76ab7310980b3c0e679998539d6b (diff) | |
download | chromium_src-7a7c11a648e1fc761695cd4e3794bcc80c6b1a6e.zip chromium_src-7a7c11a648e1fc761695cd4e3794bcc80c6b1a6e.tar.gz chromium_src-7a7c11a648e1fc761695cd4e3794bcc80c6b1a6e.tar.bz2 |
Http cache: Convert data writes from sysnchronous to asynchronous.
BUG=21383
TEST=covered by current unit tests.
Review URL: http://codereview.chromium.org/201065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25873 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_cache_unittest.cc')
-rw-r--r-- | net/http/http_cache_unittest.cc | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc index aada69b..2cd5154 100644 --- a/net/http/http_cache_unittest.cc +++ b/net/http/http_cache_unittest.cc @@ -126,7 +126,12 @@ class MockDiskEntry : public disk_cache::Entry, data_[index].resize(offset + buf_len); if (buf_len) memcpy(&data_[index][offset], buf->data(), buf_len); - return buf_len; + + if (!callback || (test_mode_ & TEST_MODE_SYNC_CACHE_WRITE)) + return buf_len; + + CallbackLater(callback, buf_len); + return net::ERR_IO_PENDING; } virtual int ReadSparseData(int64 offset, net::IOBuffer* buf, int buf_len, @@ -177,7 +182,11 @@ class MockDiskEntry : public disk_cache::Entry, data_[1].resize(real_offset + buf_len); memcpy(&data_[1][real_offset], buf->data(), buf_len); - return buf_len; + if (!completion_callback || (test_mode_ & TEST_MODE_SYNC_CACHE_WRITE)) + return buf_len; + + CallbackLater(completion_callback, buf_len); + return net::ERR_IO_PENDING; } virtual int GetAvailableRange(int64 offset, int len, int64* start) { @@ -1969,7 +1978,8 @@ TEST(HttpCache, UnknownRangeGET_2) { MockTransaction transaction(kRangeGET_TransactionOK); transaction.test_mode = TEST_MODE_SYNC_CACHE_START | - TEST_MODE_SYNC_CACHE_READ; + TEST_MODE_SYNC_CACHE_READ | + TEST_MODE_SYNC_CACHE_WRITE; AddMockTransaction(&transaction); // Write to the cache (70-79). @@ -2534,7 +2544,8 @@ TEST(HttpCache, SyncRead) { ScopedMockTransaction transaction(kSimpleGET_Transaction); transaction.test_mode |= (TEST_MODE_SYNC_CACHE_START | - TEST_MODE_SYNC_CACHE_READ); + TEST_MODE_SYNC_CACHE_READ | + TEST_MODE_SYNC_CACHE_WRITE); MockHttpRequest r1(transaction), r2(transaction), |