Index: content/browser/service_worker/service_worker_cache_unittest.cc |
diff --git a/content/browser/service_worker/service_worker_cache_unittest.cc b/content/browser/service_worker/service_worker_cache_unittest.cc |
index 27162964f3721fcad6c97c34d0201d1161350594..5aa521bb85271e082f22ee038cb65c50acb65f98 100644 |
--- a/content/browser/service_worker/service_worker_cache_unittest.cc |
+++ b/content/browser/service_worker/service_worker_cache_unittest.cc |
@@ -93,14 +93,14 @@ class ServiceWorkerCacheTest : public testing::Test { |
std::map<std::string, std::string> headers; |
headers.insert(std::make_pair("a", "a")); |
headers.insert(std::make_pair("b", "b")); |
- body_request_.reset(new ServiceWorkerFetchRequest( |
- GURL("http://example.com/body.html"), "GET", headers, GURL(""), false)); |
- no_body_request_.reset( |
- new ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"), |
- "GET", |
- headers, |
- GURL(""), |
- false)); |
+ body_request_ = ServiceWorkerFetchRequest( |
+ GURL("http://example.com/body.html"), "GET", headers, GURL(""), false); |
+ no_body_request_ = |
+ ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"), |
+ "GET", |
+ headers, |
+ GURL(""), |
+ false); |
std::string expected_response; |
for (int i = 0; i < 100; ++i) |
@@ -113,15 +113,14 @@ class ServiceWorkerCacheTest : public testing::Test { |
blob_handle_ = |
blob_storage_context->context()->AddFinishedBlob(blob_data.get()); |
- body_response_.reset( |
- new ServiceWorkerResponse(GURL("http://example.com/body.html"), |
- 200, |
- "OK", |
- headers, |
- blob_handle_->uuid())); |
+ body_response_ = ServiceWorkerResponse(GURL("http://example.com/body.html"), |
+ 200, |
+ "OK", |
+ headers, |
+ blob_handle_->uuid()); |
- no_body_response_.reset(new ServiceWorkerResponse( |
- GURL("http://example.com/no_body.html"), 200, "OK", headers, "")); |
+ no_body_response_ = ServiceWorkerResponse( |
+ GURL("http://example.com/no_body.html"), 200, "OK", headers, ""); |
} |
void CreateBackend() { |
@@ -133,12 +132,30 @@ class ServiceWorkerCacheTest : public testing::Test { |
EXPECT_EQ(ServiceWorkerCache::ErrorTypeOK, callback_error_); |
} |
- bool Put(ServiceWorkerFetchRequest* request, |
- ServiceWorkerResponse* response) { |
+ scoped_ptr<ServiceWorkerFetchRequest> CopyFetchRequest( |
+ const ServiceWorkerFetchRequest& request) { |
+ return make_scoped_ptr(new ServiceWorkerFetchRequest(request.url, |
+ request.method, |
+ request.headers, |
+ request.referrer, |
+ request.is_reload)); |
+ } |
+ |
+ scoped_ptr<ServiceWorkerResponse> CopyFetchResponse( |
+ const ServiceWorkerResponse& response) { |
+ return make_scoped_ptr(new ServiceWorkerResponse(response.url, |
+ response.status_code, |
+ response.status_text, |
+ response.headers, |
+ response.blob_uuid)); |
+ } |
+ |
+ bool Put(const ServiceWorkerFetchRequest& request, |
+ const ServiceWorkerResponse& response) { |
scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
- cache_->Put(request, |
- response, |
+ cache_->Put(CopyFetchRequest(request), |
+ CopyFetchResponse(response), |
base::Bind(&ServiceWorkerCacheTest::ErrorTypeCallback, |
base::Unretained(this), |
base::Unretained(loop.get()))); |
@@ -150,10 +167,10 @@ class ServiceWorkerCacheTest : public testing::Test { |
return callback_error_ == ServiceWorkerCache::ErrorTypeOK; |
} |
- bool Match(ServiceWorkerFetchRequest* request) { |
+ bool Match(const ServiceWorkerFetchRequest& request) { |
scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
- cache_->Match(request, |
+ cache_->Match(CopyFetchRequest(request), |
base::Bind(&ServiceWorkerCacheTest::ResponseAndErrorCallback, |
base::Unretained(this), |
base::Unretained(loop.get()))); |
@@ -162,10 +179,10 @@ class ServiceWorkerCacheTest : public testing::Test { |
return callback_error_ == ServiceWorkerCache::ErrorTypeOK; |
} |
- bool Delete(ServiceWorkerFetchRequest* request) { |
+ bool Delete(const ServiceWorkerFetchRequest& request) { |
scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
- cache_->Delete(request, |
+ cache_->Delete(CopyFetchRequest(request), |
base::Bind(&ServiceWorkerCacheTest::ErrorTypeCallback, |
base::Unretained(this), |
base::Unretained(loop.get()))); |
@@ -250,10 +267,10 @@ class ServiceWorkerCacheTest : public testing::Test { |
base::ScopedTempDir temp_dir_; |
scoped_ptr<ServiceWorkerCache> cache_; |
- scoped_ptr<ServiceWorkerFetchRequest> body_request_; |
- scoped_ptr<ServiceWorkerResponse> body_response_; |
- scoped_ptr<ServiceWorkerFetchRequest> no_body_request_; |
- scoped_ptr<ServiceWorkerResponse> no_body_response_; |
+ ServiceWorkerFetchRequest body_request_; |
+ ServiceWorkerResponse body_response_; |
+ ServiceWorkerFetchRequest no_body_request_; |
+ ServiceWorkerResponse no_body_response_; |
scoped_ptr<storage::BlobDataHandle> blob_handle_; |
std::string expected_blob_data_; |
@@ -269,17 +286,17 @@ class ServiceWorkerCacheTestP : public ServiceWorkerCacheTest, |
}; |
TEST_P(ServiceWorkerCacheTestP, PutNoBody) { |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
} |
TEST_P(ServiceWorkerCacheTestP, PutBody) { |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
} |
TEST_P(ServiceWorkerCacheTestP, PutBodyDropBlobRef) { |
scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
- cache_->Put(body_request_.get(), |
- body_response_.get(), |
+ cache_->Put(CopyFetchRequest(body_request_), |
+ CopyFetchResponse(body_response_), |
base::Bind(&ServiceWorkerCacheTestP::ErrorTypeCallback, |
base::Unretained(this), |
base::Unretained(loop.get()))); |
@@ -292,8 +309,8 @@ TEST_P(ServiceWorkerCacheTestP, PutBodyDropBlobRef) { |
} |
TEST_P(ServiceWorkerCacheTestP, MatchNoBody) { |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Match(no_body_request_.get())); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(no_body_request_)); |
EXPECT_EQ(200, callback_response_->status_code); |
EXPECT_STREQ("OK", callback_response_->status_text.c_str()); |
EXPECT_STREQ("http://example.com/no_body.html", |
@@ -301,8 +318,8 @@ TEST_P(ServiceWorkerCacheTestP, MatchNoBody) { |
} |
TEST_P(ServiceWorkerCacheTestP, MatchBody) { |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
- EXPECT_TRUE(Match(body_request_.get())); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
EXPECT_EQ(200, callback_response_->status_code); |
EXPECT_STREQ("OK", callback_response_->status_text.c_str()); |
EXPECT_STREQ("http://example.com/body.html", |
@@ -318,31 +335,31 @@ TEST_P(ServiceWorkerCacheTestP, EmptyKeys) { |
} |
TEST_P(ServiceWorkerCacheTestP, TwoKeys) { |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
EXPECT_TRUE(Keys()); |
EXPECT_EQ(2u, callback_strings_.size()); |
std::vector<std::string> expected_keys; |
- expected_keys.push_back(no_body_request_->url.spec()); |
- expected_keys.push_back(body_request_->url.spec()); |
+ expected_keys.push_back(no_body_request_.url.spec()); |
+ expected_keys.push_back(body_request_.url.spec()); |
EXPECT_TRUE(VerifyKeys(expected_keys)); |
} |
TEST_P(ServiceWorkerCacheTestP, TwoKeysThenOne) { |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
EXPECT_TRUE(Keys()); |
EXPECT_EQ(2u, callback_strings_.size()); |
std::vector<std::string> expected_keys; |
- expected_keys.push_back(no_body_request_->url.spec()); |
- expected_keys.push_back(body_request_->url.spec()); |
+ expected_keys.push_back(no_body_request_.url.spec()); |
+ expected_keys.push_back(body_request_.url.spec()); |
EXPECT_TRUE(VerifyKeys(expected_keys)); |
- EXPECT_TRUE(Delete(body_request_.get())); |
+ EXPECT_TRUE(Delete(body_request_)); |
EXPECT_TRUE(Keys()); |
EXPECT_EQ(1u, callback_strings_.size()); |
std::vector<std::string> expected_key; |
- expected_key.push_back(no_body_request_->url.spec()); |
+ expected_key.push_back(no_body_request_.url.spec()); |
EXPECT_TRUE(VerifyKeys(expected_key)); |
} |
@@ -351,42 +368,42 @@ TEST_P(ServiceWorkerCacheTestP, TwoKeysThenOne) { |
// flaky (though not crashy). See https://crbug.com/409109 |
#ifndef OS_WIN |
TEST_P(ServiceWorkerCacheTestP, DeleteNoBody) { |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Match(no_body_request_.get())); |
- EXPECT_TRUE(Delete(no_body_request_.get())); |
- EXPECT_FALSE(Match(no_body_request_.get())); |
- EXPECT_FALSE(Delete(no_body_request_.get())); |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Match(no_body_request_.get())); |
- EXPECT_TRUE(Delete(no_body_request_.get())); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(no_body_request_)); |
+ EXPECT_TRUE(Delete(no_body_request_)); |
+ EXPECT_FALSE(Match(no_body_request_)); |
+ EXPECT_FALSE(Delete(no_body_request_)); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(no_body_request_)); |
+ EXPECT_TRUE(Delete(no_body_request_)); |
} |
TEST_P(ServiceWorkerCacheTestP, DeleteBody) { |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
- EXPECT_TRUE(Match(body_request_.get())); |
- EXPECT_TRUE(Delete(body_request_.get())); |
- EXPECT_FALSE(Match(body_request_.get())); |
- EXPECT_FALSE(Delete(body_request_.get())); |
- EXPECT_TRUE(Put(body_request_.get(), body_response_.get())); |
- EXPECT_TRUE(Match(body_request_.get())); |
- EXPECT_TRUE(Delete(body_request_.get())); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
+ EXPECT_TRUE(Delete(body_request_)); |
+ EXPECT_FALSE(Match(body_request_)); |
+ EXPECT_FALSE(Delete(body_request_)); |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
+ EXPECT_TRUE(Delete(body_request_)); |
} |
TEST_P(ServiceWorkerCacheTestP, QuickStressNoBody) { |
for (int i = 0; i < 100; ++i) { |
- EXPECT_FALSE(Match(no_body_request_.get())); |
- EXPECT_TRUE(Put(no_body_request_.get(), no_body_response_.get())); |
- EXPECT_TRUE(Match(no_body_request_.get())); |
- EXPECT_TRUE(Delete(no_body_request_.get())); |
+ EXPECT_FALSE(Match(no_body_request_)); |
+ EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(no_body_request_)); |
+ EXPECT_TRUE(Delete(no_body_request_)); |
} |
} |
TEST_P(ServiceWorkerCacheTestP, QuickStressBody) { |
for (int i = 0; i < 100; ++i) { |
- ASSERT_FALSE(Match(body_request_.get())); |
- ASSERT_TRUE(Put(body_request_.get(), body_response_.get())); |
- ASSERT_TRUE(Match(body_request_.get())); |
- ASSERT_TRUE(Delete(body_request_.get())); |
+ ASSERT_FALSE(Match(body_request_)); |
+ ASSERT_TRUE(Put(body_request_, body_response_)); |
+ ASSERT_TRUE(Match(body_request_)); |
+ ASSERT_TRUE(Delete(body_request_)); |
} |
} |
#endif // OS_WIN |