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

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

Issue 2469673002: Invalidate WeakPtrs of ResourceMessageFilter on channel shutdown (Closed)
Patch Set: remove test Created 4 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
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 1d4435b0419b32557f1bf795a97c952286f133f1..96475f9d673a54af16a63b6052654a2b2450ae0c 100644
--- a/content/browser/loader/resource_dispatcher_host_unittest.cc
+++ b/content/browser/loader/resource_dispatcher_host_unittest.cc
@@ -861,6 +861,10 @@ class ResourceDispatcherHostTest : public testing::TestWithParam<TestConfig>,
request_context->set_network_delegate(&network_delegate_);
}
+ ~ResourceDispatcherHostTest() override {
+ filter_->OnChannelClosing();
+ }
+
// IPC::Sender implementation
bool Send(IPC::Message* msg) override {
accum_.AddMessage(*msg);
@@ -912,6 +916,7 @@ class ResourceDispatcherHostTest : public testing::TestWithParam<TestConfig>,
}
void TearDown() override {
+ web_contents_filter_->OnChannelClosing();
web_contents_observer_.reset();
web_contents_.reset();
@@ -1892,6 +1897,8 @@ TEST_P(ResourceDispatcherHostTest, TestProcessCancel) {
EXPECT_EQ(4, network_delegate()->completed_requests());
EXPECT_EQ(0, network_delegate()->canceled_requests());
EXPECT_EQ(0, network_delegate()->error_count());
+
+ test_filter->OnChannelClosing();
}
// Tests whether the correct requests get canceled when a RenderViewHost is
@@ -2142,6 +2149,7 @@ TEST_P(ResourceDispatcherHostTest, TestBlockedRequestsProcessDies) {
CheckSuccessfulRequest(msgs[1], net::URLRequestTestJob::test_data_3());
EXPECT_TRUE(host_.blocked_loaders_map_.empty());
+ second_filter->OnChannelClosing();
}
// Tests that blocked requests don't leak when the ResourceDispatcherHost goes
@@ -2187,6 +2195,8 @@ TEST_P(ResourceDispatcherHostTest, TestBlockedRequestsDontLeak) {
// Flush all the pending requests.
while (net::URLRequestTestJob::ProcessOnePendingMessage()) {}
+
+ second_filter->OnChannelClosing();
}
// Test the private helper method "CalculateApproximateMemoryCost()".
@@ -2293,6 +2303,8 @@ TEST_P(ResourceDispatcherHostTest, TooMuchOutstandingRequestsMemory) {
net::URLRequestTestJob::test_data_2());
CheckSuccessfulRequest(msgs[kMaxRequests + 3],
net::URLRequestTestJob::test_data_2());
+
+ second_filter->OnChannelClosing();
}
// Test that when too many requests are outstanding for a particular
@@ -2358,6 +2370,9 @@ TEST_P(ResourceDispatcherHostTest, TooManyOutstandingRequests) {
CheckFailedRequest(msgs[kMaxRequestsPerProcess + 2],
net::URLRequestTestJob::test_data_2(),
net::ERR_INSUFFICIENT_RESOURCES);
+
+ second_filter->OnChannelClosing();
+ third_filter->OnChannelClosing();
}
// Tests that we sniff the mime type for a simple request.
@@ -2757,6 +2772,8 @@ TEST_P(ResourceDispatcherHostTest, TransferNavigationHtml) {
ASSERT_EQ(2U, msgs.size());
EXPECT_EQ(ResourceMsg_ReceivedRedirect::ID, msgs[0][0].type());
CheckSuccessfulRequest(msgs[1], kResponseBody);
+
+ second_filter->OnChannelClosing();
}
// Test transferring two navigations with text/html, to ensure the resource
@@ -2835,6 +2852,8 @@ TEST_P(ResourceDispatcherHostTest, TransferTwoNavigationsHtml) {
ASSERT_EQ(2U, msgs.size());
CheckSuccessfulRequest(msgs[0], kResponseBody);
+
+ second_filter->OnChannelClosing();
}
// Test transferred navigations with text/plain, which causes
@@ -2904,6 +2923,8 @@ TEST_P(ResourceDispatcherHostTest, TransferNavigationText) {
ASSERT_EQ(2U, msgs.size());
EXPECT_EQ(ResourceMsg_ReceivedRedirect::ID, msgs[0][0].type());
CheckSuccessfulRequest(msgs[1], kResponseBody);
+
+ second_filter->OnChannelClosing();
}
TEST_P(ResourceDispatcherHostTest, TransferNavigationWithProcessCrash) {
@@ -2953,6 +2974,8 @@ TEST_P(ResourceDispatcherHostTest, TransferNavigationWithProcessCrash) {
// Flush all the pending requests to get the response through the
// MimeTypeResourceHandler.
while (net::URLRequestTestJob::ProcessOnePendingMessage()) {}
+
+ first_filter->OnChannelClosing();
}
// The first filter is now deleted, as if the child process died.
@@ -2984,6 +3007,8 @@ TEST_P(ResourceDispatcherHostTest, TransferNavigationWithProcessCrash) {
ASSERT_EQ(2U, msgs.size());
EXPECT_EQ(ResourceMsg_ReceivedRedirect::ID, msgs[0][0].type());
CheckSuccessfulRequest(msgs[1], kResponseBody);
+
+ second_filter->OnChannelClosing();
}
TEST_P(ResourceDispatcherHostTest, TransferNavigationWithTwoRedirects) {
@@ -3070,6 +3095,8 @@ TEST_P(ResourceDispatcherHostTest, TransferNavigationWithTwoRedirects) {
ASSERT_EQ(2U, msgs.size());
EXPECT_EQ(ResourceMsg_ReceivedRedirect::ID, msgs[0][0].type());
CheckSuccessfulRequest(msgs[1], kResponseBody);
+
+ second_filter->OnChannelClosing();
}
TEST_P(ResourceDispatcherHostTest, UnknownURLScheme) {
« no previous file with comments | « content/browser/loader/async_revalidation_manager_unittest.cc ('k') | content/browser/loader/resource_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698