Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Unified Diff: content/browser/loader/resource_dispatcher_host_unittest.cc

Issue 55513002: Add ResourceType::PING. and mark those requests as detachable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use DCHECK_EQ Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_impl.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/loader/resource_dispatcher_host_unittest.cc
diff --git a/content/browser/loader/resource_dispatcher_host_unittest.cc b/content/browser/loader/resource_dispatcher_host_unittest.cc
index 81e0c88f5ed2dd08b66046333470cacc1321dc4d..895951bba1e90095b8bab75332df1c73d59898a7 100644
--- a/content/browser/loader/resource_dispatcher_host_unittest.cc
+++ b/content/browser/loader/resource_dispatcher_host_unittest.cc
@@ -1021,41 +1021,52 @@ TEST_F(ResourceDispatcherHostTest, DetachedResourceTimesOut) {
// If the filter has disappeared then detachable resources should continue to
// load.
TEST_F(ResourceDispatcherHostTest, DeletedFilterDetached) {
- ResourceHostMsg_Request request = CreateResourceRequest(
- "GET", ResourceType::PREFETCH, net::URLRequestTestJob::test_url_4());
+ // test_url_1's data is available synchronously, so use 2 and 3.
+ ResourceHostMsg_Request request_prefetch = CreateResourceRequest(
+ "GET", ResourceType::PREFETCH, net::URLRequestTestJob::test_url_2());
+ ResourceHostMsg_Request request_ping = CreateResourceRequest(
+ "GET", ResourceType::PING, net::URLRequestTestJob::test_url_3());
- ResourceHostMsg_RequestResource msg(0, 1, request);
bool msg_was_ok;
- host_.OnMessageReceived(msg, filter_, &msg_was_ok);
+ ResourceHostMsg_RequestResource msg_prefetch(0, 1, request_prefetch);
+ host_.OnMessageReceived(msg_prefetch, filter_, &msg_was_ok);
+ ResourceHostMsg_RequestResource msg_ping(0, 2, request_ping);
+ host_.OnMessageReceived(msg_ping, filter_, &msg_was_ok);
- // Remove the filter before processing the request by simulating channel
+ // Remove the filter before processing the requests by simulating channel
// closure.
- GlobalRequestID global_request_id(filter_->child_id(), 1);
- ResourceRequestInfoImpl* info = ResourceRequestInfoImpl::ForRequest(
- host_.GetURLRequest(global_request_id));
- info->filter_->OnChannelClosing();
- info->filter_.reset();
-
- // From the renderer's perspective, the request was cancelled.
+ ResourceRequestInfoImpl* info_prefetch = ResourceRequestInfoImpl::ForRequest(
+ host_.GetURLRequest(GlobalRequestID(filter_->child_id(), 1)));
+ ResourceRequestInfoImpl* info_ping = ResourceRequestInfoImpl::ForRequest(
+ host_.GetURLRequest(GlobalRequestID(filter_->child_id(), 2)));
+ DCHECK_EQ(filter_.get(), info_prefetch->filter());
+ DCHECK_EQ(filter_.get(), info_ping->filter());
+ filter_->OnChannelClosing();
+ info_prefetch->filter_.reset();
+ info_ping->filter_.reset();
+
+ // From the renderer's perspective, the requests were cancelled.
ResourceIPCAccumulator::ClassifiedMessages msgs;
accum_.GetClassifiedMessages(&msgs);
- ASSERT_EQ(1U, msgs.size());
+ ASSERT_EQ(2U, msgs.size());
CheckRequestCompleteErrorCode(msgs[0][0], net::ERR_ABORTED);
+ CheckRequestCompleteErrorCode(msgs[1][0], net::ERR_ABORTED);
// But it continues detached.
- EXPECT_EQ(1, host_.pending_requests());
- EXPECT_TRUE(info->detachable_handler()->is_detached());
+ EXPECT_EQ(2, host_.pending_requests());
+ EXPECT_TRUE(info_prefetch->detachable_handler()->is_detached());
+ EXPECT_TRUE(info_ping->detachable_handler()->is_detached());
KickOffRequest();
- // Make sure the request wasn't canceled early.
- EXPECT_EQ(1, host_.pending_requests());
+ // Make sure the requests weren't canceled early.
+ EXPECT_EQ(2, host_.pending_requests());
while (net::URLRequestTestJob::ProcessOnePendingMessage()) {}
base::MessageLoop::current()->RunUntilIdle();
EXPECT_EQ(0, host_.pending_requests());
- EXPECT_EQ(1, network_delegate()->completed_requests());
+ EXPECT_EQ(2, network_delegate()->completed_requests());
EXPECT_EQ(0, network_delegate()->canceled_requests());
EXPECT_EQ(0, network_delegate()->error_count());
}
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_impl.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698