From bddf2a311bf9b3c8131d0d61b41f01d1c763b931 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Sat, 18 May 2019 17:42:00 +0300 Subject: [PATCH] Fix NetworkService ServerTest.* failures and test name typo (see issue #2622). Always return ERR_NONE and the response body if a CefURLRequest completes successfully, including for non-2xx status codes. This matches the behavior of the old network stack. To test: ServerTest.* tests pass with NetworkService enabled. --- libcef/browser/net_service/browser_urlrequest_impl.cc | 9 ++++----- tests/ceftests/resource_request_handler_unittest.cc | 2 +- tests/ceftests/server_unittest.cc | 2 ++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libcef/browser/net_service/browser_urlrequest_impl.cc b/libcef/browser/net_service/browser_urlrequest_impl.cc index 04c7506b3..d7e3fde7e 100644 --- a/libcef/browser/net_service/browser_urlrequest_impl.cc +++ b/libcef/browser/net_service/browser_urlrequest_impl.cc @@ -211,11 +211,10 @@ class CefBrowserURLRequest::Context } } - if (request_flags & UR_FLAG_NO_RETRY_ON_5XX) { - // No retries is the default setting, so we don't need to configure that. - // Allow delivery of non-2xx response bodies. - loader_->SetAllowHttpErrorResults(true); - } else { + // Allow delivery of non-2xx response bodies. + loader_->SetAllowHttpErrorResults(true); + + if (!(request_flags & UR_FLAG_NO_RETRY_ON_5XX)) { // Allow 2 retries on 5xx response or network change. // TODO(network): Consider exposing configuration of max retries and/or // RETRY_ON_NETWORK_CHANGE as a separate flag. diff --git a/tests/ceftests/resource_request_handler_unittest.cc b/tests/ceftests/resource_request_handler_unittest.cc index 67c4ed4b9..1645614ae 100644 --- a/tests/ceftests/resource_request_handler_unittest.cc +++ b/tests/ceftests/resource_request_handler_unittest.cc @@ -3057,7 +3057,7 @@ TEST(ResourceRequestHandlerTest, FilterPassThruReadAll) { } // Pass through contents unchanged. Read limited input. -TEST(ResouseRequestHandlerTest, FilterPassThruReadLimited) { +TEST(ResourceRequestHandlerTest, FilterPassThruReadLimited) { CefRefPtr handler = new ResponseFilterTestHandler(new ResponseFilterPassThru(true)); handler->ExecuteTest(); diff --git a/tests/ceftests/server_unittest.cc b/tests/ceftests/server_unittest.cc index 292437c08..fda91add1 100644 --- a/tests/ceftests/server_unittest.cc +++ b/tests/ceftests/server_unittest.cc @@ -952,6 +952,8 @@ class StaticHttpRequestRunner : public HttpTestRunner::RequestRunner { static scoped_ptr Create500( const std::string& path) { CefRefPtr request = CreateTestServerRequest(path, "GET"); + // Don't retry the request. + request->SetFlags(UR_FLAG_NO_RETRY_ON_5XX); HttpServerResponse response(HttpServerResponse::TYPE_500); response.error_message = "Something went wrong!"; return make_scoped_ptr(