diff --git a/chrome/browser/android/webapk/webapk_icon_hasher_unittest.cc b/chrome/browser/android/webapk/webapk_icon_hasher_unittest.cc index 08d42ba2e4bfa7..221122366eac54 100644 --- a/chrome/browser/android/webapk/webapk_icon_hasher_unittest.cc +++ b/chrome/browser/android/webapk/webapk_icon_hasher_unittest.cc @@ -143,8 +143,8 @@ TEST_F(WebApkIconHasherTest, HTTPError) { std::string icon_url = "http://www.google.com/404"; network::ResourceResponseHead head; std::string headers("HTTP/1.1 404 Not Found\nContent-type: text/html\n\n"); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "text/html"; network::URLLoaderCompletionStatus status; status.decoded_body_length = 0; diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc index bf2ef920e6b061..68d3825afeb31d 100644 --- a/chrome/browser/autocomplete/search_provider_unittest.cc +++ b/chrome/browser/autocomplete/search_provider_unittest.cc @@ -3443,8 +3443,8 @@ TEST_F(SearchProviderTest, TestDeleteMatch) { network::ResourceResponseHead head; std::string headers("HTTP/1.1 500 Owiee\nContent-type: application/json\n\n"); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "application/json"; test_url_loader_factory_.AddResponse(GURL(kDeleteUrl), head, "", network::URLLoaderCompletionStatus()); diff --git a/chrome/browser/captive_portal/captive_portal_browsertest.cc b/chrome/browser/captive_portal/captive_portal_browsertest.cc index b58a7a71476bca..10884bf66dbf83 100644 --- a/chrome/browser/captive_portal/captive_portal_browsertest.cc +++ b/chrome/browser/captive_portal/captive_portal_browsertest.cc @@ -945,7 +945,7 @@ bool CaptivePortalBrowserTest::OnIntercept( kMockHttpsUrl); net::HttpResponseInfo info; info.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/chrome/browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc b/chrome/browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc index 755027173c9f00..c025bd0847655e 100644 --- a/chrome/browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc +++ b/chrome/browser/chromeos/arc/auth/arc_active_directory_enrollment_token_fetcher_browsertest.cc @@ -433,8 +433,8 @@ IN_PROC_BROWSER_TEST_F(ArcActiveDirectoryEnrollmentTokenFetcherBrowserTest, network::ResourceResponseHead head; std::string status_line("HTTP/1.1 904 ARC Disabled"); std::string headers = status_line + "\nContent-type: text/html\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status; test_url_loader_factory_.AddResponse(request.url, head, std::string(), diff --git a/chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_unittest.cc b/chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_unittest.cc index 24f3864f2273ec..30a564af434889 100644 --- a/chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_unittest.cc +++ b/chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_unittest.cc @@ -384,9 +384,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, MigrateIgnoreOtherProxy) { TEST_F(DataReductionProxyChromeSettingsTest, CreateDataBasic) { content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); std::string raw_headers = "HTTP/1.0 200 OK\n"; - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( &handle, headers.get()); @@ -403,9 +402,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataUsedDataReductionProxy) { content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); handle.set_proxy_server(net::ProxyServer::FromPacString(kProxyPac)); std::string raw_headers = "HTTP/1.0 200 OK\n"; - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( &handle, headers.get()); @@ -418,9 +416,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataCachedResponse) { "HTTP/1.0 200 OK\n" "chrome-proxy: foo\n"; content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); handle.set_was_response_cached(true); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( @@ -432,9 +429,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataCachedResponse) { TEST_F(DataReductionProxyChromeSettingsTest, CreateHTTPSDataCachedResponse) { std::string raw_headers = "HTTP/1.0 200 OK\nchrome-proxy: foo\n"; content::MockNavigationHandle handle(GURL("https://secure.com"), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); handle.set_was_response_cached(true); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( @@ -449,9 +445,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, "HTTP/1.0 200 OK\n" "via: 1.1 Chrome-Compression-Proxy\n"; content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); handle.set_was_response_cached(true); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( @@ -465,9 +460,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataWithLitePage) { "HTTP/1.0 200 OK\n" "chrome-proxy-content-transform: lite-page\n"; content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( &handle, headers.get()); @@ -482,9 +476,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataWithLofiPolicyReceived) { "HTTP/1.0 200 OK\n" "chrome-proxy: page-policies=empty-image\n"; content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( &handle, headers.get()); @@ -499,9 +492,8 @@ TEST_F(DataReductionProxyChromeSettingsTest, CreateDataWithLofiReceived) { "HTTP/1.0 200 OK\n" "chrome-proxy-content-transform: empty-image\n"; content::MockNavigationHandle handle(GURL(kUrl), main_rfh()); - scoped_refptr headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), raw_headers.size())); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); handle.set_response_headers(headers); auto data = drp_chrome_settings_->CreateDataFromNavigationHandle( &handle, headers.get()); diff --git a/chrome/browser/download/notification/download_notification_browsertest.cc b/chrome/browser/download/notification/download_notification_browsertest.cc index e1d5f90cc41959..9a9811dafc16fe 100644 --- a/chrome/browser/download/notification/download_notification_browsertest.cc +++ b/chrome/browser/download/notification/download_notification_browsertest.cc @@ -211,8 +211,8 @@ class SlowDownloadInterceptor { headers += base::StringPrintf("Content-Length: %ld\n", content_length); head.content_length = content_length; } - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.headers->GetMimeType(&head.mime_type); params->client->OnReceiveResponse(head); } diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc index 86fcf664ab83cc..efb0e32ae9cc22 100644 --- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc +++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc @@ -1709,8 +1709,7 @@ TEST(ExtensionWebRequestHelpersTest, TestCalculateOnHeadersReceivedDelta) { "X-Chrome-ID-Consistency-Response: Value6\r\n" "\r\n"; auto base_headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(base_headers_string.c_str(), - base_headers_string.size())); + net::HttpUtil::AssembleRawHeaders(base_headers_string)); ResponseHeaders new_headers = { {"kEy1", "Value1"}, // Unchanged @@ -1759,8 +1758,7 @@ TEST(ExtensionWebRequestHelpersTest, "HTTP/1.0 200 OK\r\n" "Key1: Value1\r\n"; auto base_headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(base_headers_string.c_str(), - base_headers_string.size())); + net::HttpUtil::AssembleRawHeaders(base_headers_string)); ResponseHeaders new_headers = { {"Key1", "Value1"}, @@ -2338,10 +2336,8 @@ TEST(ExtensionWebRequestHelpersTest, "Set-Cookie: sessionCookie=removed; Max-Age=INVALID\r\n" "Set-Cookie: sessionCookie2=removed\r\n" "\r\n"; - scoped_refptr base_headers( - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders( - base_headers_string.c_str(), base_headers_string.size()))); + auto base_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(base_headers_string)); // Check that we can handle if not touching the response headers. { @@ -2496,10 +2492,8 @@ TEST(ExtensionWebRequestHelpersTest, deltas.push_back(std::move(delta)); } deltas.sort(&InDecreasingExtensionInstallationTimeOrder); - scoped_refptr headers1( - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders( - base_headers_string.c_str(), base_headers_string.size()))); + auto headers1 = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(base_headers_string)); scoped_refptr new_headers1; MergeCookiesInOnHeadersReceivedResponses(GURL(), deltas, headers1.get(), &new_headers1, &logger); @@ -2539,10 +2533,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) { "Key1: Value1\r\n" "Key2: Value2, Foo\r\n" "\r\n"; - scoped_refptr base_headers( - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders( - base_headers_string, sizeof(base_headers_string)))); + auto base_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(base_headers_string)); // Check that we can handle if not touching the response headers. { @@ -2683,10 +2675,8 @@ TEST(ExtensionWebRequestHelpersTest, "Key1: Value3\r\n" "Key2: Value4\r\n" "\r\n"; - scoped_refptr base_headers( - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders( - base_headers_string, sizeof(base_headers_string)))); + auto base_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(base_headers_string)); { EventResponseDelta d1("extid1", base::Time::FromInternalValue(2000)); @@ -2737,9 +2727,8 @@ TEST(ExtensionWebRequestHelpersTest, char base_headers_string[] = "HTTP/1.0 200 OK\r\n" "\r\n"; - scoped_refptr base_headers( - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - base_headers_string, sizeof(base_headers_string)))); + auto base_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(base_headers_string)); // No redirect { diff --git a/chrome/browser/extensions/api/web_request/web_request_event_details_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_event_details_unittest.cc index 293b67a076d427..13a7ae34351402 100644 --- a/chrome/browser/extensions/api/web_request/web_request_event_details_unittest.cc +++ b/chrome/browser/extensions/api/web_request/web_request_event_details_unittest.cc @@ -84,9 +84,8 @@ TEST(WebRequestEventDetailsTest, SetResponseHeaders) { "Key1: Value1\r\n" "X-Chrome-ID-Consistency-Response: Value2\r\n" "\r\n"; - scoped_refptr headers( - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers_string, sizeof(headers_string)))); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers_string)); { // Non-Gaia URL. diff --git a/chrome/browser/media/router/discovery/dial/dial_service.cc b/chrome/browser/media/router/discovery/dial/dial_service.cc index 60e7d33471adf2..86931492e73aa1 100644 --- a/chrome/browser/media/router/discovery/dial/dial_service.cc +++ b/chrome/browser/media/router/discovery/dial/dial_service.cc @@ -355,11 +355,10 @@ bool DialServiceImpl::DialSocket::ParseResponse(const std::string& response, VLOG(1) << "Headers invalid or empty, ignoring: " << response; return false; } - std::string raw_headers = - HttpUtil::AssembleRawHeaders(response.c_str(), headers_end); + std::string raw_headers = HttpUtil::AssembleRawHeaders( + base::StringPiece(response.c_str(), headers_end)); VLOG(3) << "raw_headers: " << raw_headers << "\n"; - scoped_refptr headers = - new HttpResponseHeaders(raw_headers); + auto headers = base::MakeRefCounted(raw_headers); std::string device_url_str; if (!GetHeader(headers.get(), kSsdpLocationHeader, &device_url_str) || diff --git a/chrome/browser/offline_pages/offline_page_request_handler.cc b/chrome/browser/offline_pages/offline_page_request_handler.cc index 4daa8e8a6c56f3..3b0eee4af34379 100644 --- a/chrome/browser/offline_pages/offline_page_request_handler.cc +++ b/chrome/browser/offline_pages/offline_page_request_handler.cc @@ -689,9 +689,8 @@ void OfflinePageRequestHandler::Redirect(const GURL& redirected_url) { net::URLRequestRedirectJob::REDIRECT_302_FOUND, redirected_url.spec().c_str()); - fake_headers_for_redirect_ = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - header_string.c_str(), header_string.length())); + fake_headers_for_redirect_ = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(header_string)); DCHECK(fake_headers_for_redirect_->IsRedirect(nullptr)); delegate_->NotifyHeadersComplete(0); diff --git a/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc b/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc index 67e5415138997a..7d40bde41d0db8 100644 --- a/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc +++ b/chrome/browser/plugins/pdf_iframe_navigation_throttle_unittest.cc @@ -48,8 +48,7 @@ class PDFIFrameNavigationThrottleTest : public ChromeRenderViewHostTestHarness { "content-type: " + mime_type + "\r\n"; return base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(raw_response_headers.c_str(), - raw_response_headers.size())); + net::HttpUtil::AssembleRawHeaders(raw_response_headers)); } content::RenderFrameHost* subframe() { return subframe_; } diff --git a/chrome/browser/previews/previews_lite_page_redirect_url_loader.cc b/chrome/browser/previews/previews_lite_page_redirect_url_loader.cc index c049eb093063f1..a5de7c6fa38528 100644 --- a/chrome/browser/previews/previews_lite_page_redirect_url_loader.cc +++ b/chrome/browser/previews/previews_lite_page_redirect_url_loader.cc @@ -161,11 +161,8 @@ void PreviewsLitePageRedirectURLLoader::StartHandlingRedirectToModifiedRequest( net::HTTP_TEMPORARY_REDIRECT, modified_resource_request_.url.spec().c_str()); - scoped_refptr fake_headers_for_redirect = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - header_string.c_str(), header_string.length())); - - response_head_.headers = fake_headers_for_redirect; + response_head_.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(header_string)); response_head_.encoded_data_length = 0; StartHandlingRedirect(resource_request, std::move(request), diff --git a/chrome/browser/profile_resetter/profile_resetter_unittest.cc b/chrome/browser/profile_resetter/profile_resetter_unittest.cc index 6d82d6ec31ea1f..d353e12c94f237 100644 --- a/chrome/browser/profile_resetter/profile_resetter_unittest.cc +++ b/chrome/browser/profile_resetter/profile_resetter_unittest.cc @@ -767,7 +767,7 @@ TEST_F(ConfigParserTest, ParseConfig) { network::ResourceResponseHead head; std::string headers("HTTP/1.1 200 OK\nContent-type: text/xml\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "text/xml"; network::URLLoaderCompletionStatus status; status.decoded_body_length = xml_config.size(); diff --git a/chrome/browser/safe_browsing/threat_details_unittest.cc b/chrome/browser/safe_browsing/threat_details_unittest.cc index 84f3fc4a627e0e..4b21c607489275 100644 --- a/chrome/browser/safe_browsing/threat_details_unittest.cc +++ b/chrome/browser/safe_browsing/threat_details_unittest.cc @@ -375,8 +375,8 @@ class ThreatDetailsTest : public ChromeRenderViewHostTestHarness { const std::string& headers, const std::string& content) { network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.remote_endpoint = net::IPEndPoint(net::IPAddress(1, 2, 3, 4), 80); head.mime_type = "text/html"; network::URLLoaderCompletionStatus status; diff --git a/chrome/browser/spellchecker/spelling_service_client_unittest.cc b/chrome/browser/spellchecker/spelling_service_client_unittest.cc index 6c0a57d3ccecc7..c94a5e216017ac 100644 --- a/chrome/browser/spellchecker/spelling_service_client_unittest.cc +++ b/chrome/browser/spellchecker/spelling_service_client_unittest.cc @@ -170,8 +170,8 @@ TEST_P(SpellingServiceClientTest, RequestTextCheck) { std::string headers(base::StringPrintf( "HTTP/1.1 %d %s\nContent-type: application/json\n\n", static_cast(http_status), net::GetHttpReasonPhrase(http_status))); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "application/json"; network::URLLoaderCompletionStatus status; diff --git a/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary_unittest.cc b/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary_unittest.cc index d766c9f37c218a..1435ff06dae003 100644 --- a/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary_unittest.cc +++ b/chrome/browser/supervised_user/child_accounts/permission_request_creator_apiary_unittest.cc @@ -67,7 +67,7 @@ class PermissionRequestCreatorApiaryTest : public testing::Test { network::ResourceResponseHead head; std::string headers("HTTP/1.1 200 OK\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status(error); status.decoded_body_length = response.size(); test_url_loader_factory_.AddResponse(permission_creator_->GetApiUrl(), head, diff --git a/chrome/browser/supervised_user/experimental/safe_search_url_reporter_unittest.cc b/chrome/browser/supervised_user/experimental/safe_search_url_reporter_unittest.cc index e00ed7b9224c92..5bbec988d90957 100644 --- a/chrome/browser/supervised_user/experimental/safe_search_url_reporter_unittest.cc +++ b/chrome/browser/supervised_user/experimental/safe_search_url_reporter_unittest.cc @@ -56,7 +56,7 @@ class SafeSearchURLReporterTest : public testing::Test { network::ResourceResponseHead head; std::string headers("HTTP/1.1 200 OK\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status(error); test_url_loader_factory_.AddResponse(GURL(kSafeSearchReportApiUrl), head, std::string(), status); diff --git a/chrome/test/chromedriver/net/websocket.cc b/chrome/test/chromedriver/net/websocket.cc index 5fb9034cb914fe..8b9e7743f91c37 100644 --- a/chrome/test/chromedriver/net/websocket.cc +++ b/chrome/test/chromedriver/net/websocket.cc @@ -256,10 +256,9 @@ void WebSocket::OnReadDuringHandshake(const char* data, int len) { std::string websocket_accept; base::Base64Encode(base::SHA1HashString(sec_key_ + kMagicKey), &websocket_accept); - scoped_refptr headers( - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders( - handshake_response_.data(), headers_end))); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders( + base::StringPiece(handshake_response_.data(), headers_end))); if (headers->response_code() != 101 || !headers->HasHeaderValue("Upgrade", "WebSocket") || !headers->HasHeaderValue("Connection", "Upgrade") || diff --git a/components/captive_portal/captive_portal_testing_utils.cc b/components/captive_portal/captive_portal_testing_utils.cc index 60b884549b707e..52b4536a3d2fce 100644 --- a/components/captive_portal/captive_portal_testing_utils.cc +++ b/components/captive_portal/captive_portal_testing_utils.cc @@ -6,6 +6,7 @@ #include "base/logging.h" #include "base/memory/ref_counted.h" +#include "base/strings/string_piece.h" #include "net/base/net_errors.h" #include "net/http/http_response_headers.h" #include "net/http/http_util.h" @@ -13,10 +14,9 @@ namespace { scoped_refptr CreateResponseHeaders( - const std::string& response_headers) { - std::string raw_headers = net::HttpUtil::AssembleRawHeaders( - response_headers.c_str(), static_cast(response_headers.length())); - return new net::HttpResponseHeaders(raw_headers); + base::StringPiece response_headers) { + std::string raw_headers = net::HttpUtil::AssembleRawHeaders(response_headers); + return base::MakeRefCounted(raw_headers); } } // namespace diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate_unittest.cc index c38b9c9d68b83d..5aa2e507daddf8 100644 --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate_unittest.cc +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate_unittest.cc @@ -678,8 +678,8 @@ TEST_F(DataReductionProxyDelegateTest, OnCompletedSizeFor200) { EXPECT_EQ(request->GetTotalReceivedBytes(), total_received_bytes() - baseline_received_bytes); - const std::string raw_headers = net::HttpUtil::AssembleRawHeaders( - test.DrpResponseHeaders.c_str(), test.DrpResponseHeaders.size()); + const std::string raw_headers = + net::HttpUtil::AssembleRawHeaders(test.DrpResponseHeaders); EXPECT_EQ( static_cast(raw_headers.size() + 10000 /* original_response_body */), @@ -749,8 +749,8 @@ TEST_F(DataReductionProxyDelegateTest, OnCompletedSizeFor304) { EXPECT_EQ(request->GetTotalReceivedBytes(), total_received_bytes() - baseline_received_bytes); - const std::string raw_headers = net::HttpUtil::AssembleRawHeaders( - test.DrpResponseHeaders.c_str(), test.DrpResponseHeaders.size()); + const std::string raw_headers = + net::HttpUtil::AssembleRawHeaders(test.DrpResponseHeaders); EXPECT_EQ( static_cast(raw_headers.size() + 10000 /* original_response_body */), @@ -908,9 +908,7 @@ TEST_F(DataReductionProxyDelegateTest, PartialRangeSavings) { base::RunLoop().RunUntilIdle(); int64_t expected_original_size = - net::HttpUtil::AssembleRawHeaders(test.response_headers.data(), - test.response_headers.size()) - .size() + + net::HttpUtil::AssembleRawHeaders(test.response_headers).size() + test.expected_original_content_length; EXPECT_EQ(request->GetTotalReceivedBytes(), diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc index 82a6bfadf85c63..2d65f55a4eb9d1 100644 --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate_unittest.cc @@ -1860,11 +1860,10 @@ TEST_F(DataReductionProxyNetworkDelegateClientLoFiTest, DataSavingsThroughDRP) { // Since the Data Reduction Proxy is enabled, the length of the raw headers // should be used in the estimated original size. The X-OCL should be ignored. - EXPECT_EQ(static_cast(net::HttpUtil::AssembleRawHeaders( - kHeaders, sizeof(kHeaders) - 1) - .size() + - 10000 - request->GetTotalReceivedBytes()), - GetSavings()); + EXPECT_EQ( + static_cast(net::HttpUtil::AssembleRawHeaders(kHeaders).size() + + 10000 - request->GetTotalReceivedBytes()), + GetSavings()); } TEST_F(DataReductionProxyNetworkDelegateTest, TestAcceptTransformHistogram) { diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_unittest.cc index 50822b12144a27..ee29998ad4de16 100644 --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_unittest.cc +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_unittest.cc @@ -180,8 +180,9 @@ TEST(DataReductionProxySettingsStandaloneTest, TestEndToEndSecureProxyCheck) { network::ResourceResponseHead resource_response_head; std::string headers(test_case.response_headers); - resource_response_head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + resource_response_head.headers = + base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); test_url_loader_factory.SimulateResponseWithoutRemovingFromPendingList( test_url_loader_factory.GetPendingRequest(0), resource_response_head, test_case.response_body, diff --git a/components/domain_reliability/monitor_unittest.cc b/components/domain_reliability/monitor_unittest.cc index cf32e1d778517b..92a216d040e576 100644 --- a/components/domain_reliability/monitor_unittest.cc +++ b/components/domain_reliability/monitor_unittest.cc @@ -13,6 +13,7 @@ #include #include "base/bind.h" +#include "base/strings/string_piece.h" #include "base/test/test_simple_task_runner.h" #include "components/domain_reliability/baked_in_configs.h" #include "components/domain_reliability/beacon.h" @@ -34,10 +35,9 @@ namespace { typedef std::vector BeaconVector; scoped_refptr MakeHttpResponseHeaders( - const std::string& headers) { - return scoped_refptr( - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers.c_str(), headers.length()))); + base::StringPiece headers) { + return base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); } size_t CountQueuedBeacons(DomainReliabilityContext* context) { diff --git a/components/domain_reliability/uploader_unittest.cc b/components/domain_reliability/uploader_unittest.cc index 60f9491832690e..374f2fe3033f99 100644 --- a/components/domain_reliability/uploader_unittest.cc +++ b/components/domain_reliability/uploader_unittest.cc @@ -134,8 +134,8 @@ class UploadInterceptor : public net::URLRequestInterceptor { void ExpectRequestAndReturnResponseHeaders(const char* headers) { MockUploadResult result; result.net_error = net::OK; - result.response_headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers, strlen(headers))); + result.response_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); results_.push_back(result); } diff --git a/components/feedback/feedback_uploader_dispatch_unittest.cc b/components/feedback/feedback_uploader_dispatch_unittest.cc index 00977f67e2610f..ab1a8b0ed3399b 100644 --- a/components/feedback/feedback_uploader_dispatch_unittest.cc +++ b/components/feedback/feedback_uploader_dispatch_unittest.cc @@ -119,7 +119,7 @@ TEST_F(FeedbackUploaderDispatchTest, 204Response) { network::ResourceResponseHead head; std::string headers("HTTP/1.1 204 No Content\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status; test_url_loader_factory()->AddResponse(GURL(kFeedbackPostUrl), head, "", status); @@ -142,7 +142,7 @@ TEST_F(FeedbackUploaderDispatchTest, 400Response) { network::ResourceResponseHead head; std::string headers("HTTP/1.1 400 Bad Request\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status; test_url_loader_factory()->AddResponse(GURL(kFeedbackPostUrl), head, "", status); @@ -164,7 +164,7 @@ TEST_F(FeedbackUploaderDispatchTest, 500Response) { network::ResourceResponseHead head; std::string headers("HTTP/1.1 500 Server Error\n\n"); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status; test_url_loader_factory()->AddResponse(GURL(kFeedbackPostUrl), head, "", status); diff --git a/components/image_fetcher/core/image_data_fetcher_unittest.cc b/components/image_fetcher/core/image_data_fetcher_unittest.cc index 1af0cccd370aed..26581aecaf26a7 100644 --- a/components/image_fetcher/core/image_data_fetcher_unittest.cc +++ b/components/image_fetcher/core/image_data_fetcher_unittest.cc @@ -88,8 +88,8 @@ TEST_F(ImageDataFetcherTest, FetchImageData) { std::string raw_header = "HTTP/1.1 200 OK\n" "Content-type: image/png\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_header.c_str(), raw_header.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_header)); head.mime_type = "image/png"; network::URLLoaderCompletionStatus status; status.decoded_body_length = content.size(); @@ -121,8 +121,8 @@ TEST_F(ImageDataFetcherTest, FetchImageDataWithCookies) { std::string raw_header = "HTTP/1.1 200 OK\n" "Content-type: image/png\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_header.c_str(), raw_header.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_header)); head.mime_type = "image/png"; network::URLLoaderCompletionStatus status; status.decoded_body_length = content.size(); @@ -152,8 +152,8 @@ TEST_F(ImageDataFetcherTest, FetchImageData_NotFound) { std::string raw_header = "HTTP/1.1 404 Not Found\n" "Content-type: image/png\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_header.c_str(), raw_header.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_header)); head.mime_type = "image/png"; network::URLLoaderCompletionStatus status; status.decoded_body_length = content.size(); @@ -185,8 +185,8 @@ TEST_F(ImageDataFetcherTest, FetchImageData_WithContentLocation) { "HTTP/1.1 404 Not Found\n" "Content-type: image/png\n" "Content-location: http://test-location/image.png\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_header.c_str(), raw_header.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_header)); head.mime_type = "image/png"; network::URLLoaderCompletionStatus status; status.decoded_body_length = content.size(); diff --git a/components/journey/journey_info_fetcher_unittest.cc b/components/journey/journey_info_fetcher_unittest.cc index 00d2149595888c..773cc7793dac58 100644 --- a/components/journey/journey_info_fetcher_unittest.cc +++ b/components/journey/journey_info_fetcher_unittest.cc @@ -110,7 +110,7 @@ class JourneyInfoFetcherTest : public testing::Test { "HTTP/1.1 %d %s\nContent-type: application/json\n\n", static_cast(response_code), GetHttpReasonPhrase(response_code))); head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "application/json"; network::URLLoaderCompletionStatus status(error); status.decoded_body_length = response_data.size(); diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher_impl_unittest.cc b/components/ntp_snippets/remote/remote_suggestions_fetcher_impl_unittest.cc index f0a0e561ecb31b..121b46411f0372 100644 --- a/components/ntp_snippets/remote/remote_suggestions_fetcher_impl_unittest.cc +++ b/components/ntp_snippets/remote/remote_suggestions_fetcher_impl_unittest.cc @@ -248,8 +248,8 @@ class RemoteSuggestionsFetcherImplTest : public testing::Test { std::string headers(base::StringPrintf( "HTTP/1.1 %d %s\nContent-type: application/json\n\n", static_cast(response_code), GetHttpReasonPhrase(response_code))); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "application/json"; network::URLLoaderCompletionStatus status(error); status.decoded_body_length = response_data.size(); diff --git a/components/rappor/log_uploader_unittest.cc b/components/rappor/log_uploader_unittest.cc index ab761a88c1b4cd..f8a53754ae7808 100644 --- a/components/rappor/log_uploader_unittest.cc +++ b/components/rappor/log_uploader_unittest.cc @@ -93,7 +93,7 @@ TEST_F(LogUploaderTest, Rejection) { network::ResourceResponseHead response_head; std::string headers("HTTP/1.1 400 Bad Request\nContent-type: text/html\n\n"); response_head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); response_head.mime_type = "text/html"; test_url_loader_factory_.AddResponse(GURL(kTestServerURL), response_head, "", network::URLLoaderCompletionStatus()); @@ -111,7 +111,7 @@ TEST_F(LogUploaderTest, Failure) { std::string headers( "HTTP/1.1 500 Internal Server Error\nContent-type: text/html\n\n"); response_head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + net::HttpUtil::AssembleRawHeaders(headers)); response_head.mime_type = "text/html"; test_url_loader_factory_.AddResponse(GURL(kTestServerURL), response_head, "", network::URLLoaderCompletionStatus()); diff --git a/components/search_provider_logos/logo_service_impl_unittest.cc b/components/search_provider_logos/logo_service_impl_unittest.cc index 19e4676e512cf7..d22c695ed29752 100644 --- a/components/search_provider_logos/logo_service_impl_unittest.cc +++ b/components/search_provider_logos/logo_service_impl_unittest.cc @@ -416,8 +416,8 @@ void LogoServiceImplTest::SetServerResponseWhenFingerprint( std::string headers(base::StringPrintf( "HTTP/1.1 %d %s\nContent-type: text/html\n\n", static_cast(response_code), GetHttpReasonPhrase(response_code))); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.mime_type = "text/html"; network::URLLoaderCompletionStatus status; status.error_code = error_code; diff --git a/components/variations/service/variations_service_unittest.cc b/components/variations/service/variations_service_unittest.cc index b7cc43fa64cae7..ace3b64bd14bdf 100644 --- a/components/variations/service/variations_service_unittest.cc +++ b/components/variations/service/variations_service_unittest.cc @@ -557,8 +557,8 @@ TEST_F(VariationsServiceTest, InstanceManipulations) { std::string headers("HTTP/1.1 200 OK\n\n"); network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); if (!cases[i].im.empty()) head.headers->AddHeader(cases[i].im); network::URLLoaderCompletionStatus status; @@ -587,8 +587,8 @@ TEST_F(VariationsServiceTest, CountryHeader) { std::string headers("HTTP/1.1 200 OK\n\n"); network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.headers->AddHeader("X-Country: test"); network::URLLoaderCompletionStatus status; status.decoded_body_length = serialized_seed.size(); @@ -849,8 +849,8 @@ TEST_F(VariationsServiceTest, SafeMode_SuccessfulFetchClearsFailureStreaks) { std::string headers("HTTP/1.1 200 OK\n\n"); network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head.headers->AddHeader(seed_signature_header); network::URLLoaderCompletionStatus status; status.decoded_body_length = response.size(); @@ -879,8 +879,8 @@ TEST_F(VariationsServiceTest, SafeMode_NotModifiedFetchClearsFailureStreaks) { std::string headers("HTTP/1.1 304 Not Modified\n\n"); network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::URLLoaderCompletionStatus status; service.test_url_loader_factory()->AddResponse(service.interception_url(), head, "", status); @@ -1019,8 +1019,8 @@ TEST_F(VariationsServiceTest, NullResponseReceivedWithHTTPOk) { std::string headers("HTTP/1.1 200 OK\n\n"); network::ResourceResponseHead head; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); EXPECT_EQ(net::HTTP_OK, head.headers->response_code()); head.headers->AddHeader(seed_signature_header); // Set ERR_FAILED status code despite the 200 response code. diff --git a/content/browser/appcache/appcache_request_handler_unittest.cc b/content/browser/appcache/appcache_request_handler_unittest.cc index 2e284bc464f3b9..0cd4bfaf9d5435 100644 --- a/content/browser/appcache/appcache_request_handler_unittest.cc +++ b/content/browser/appcache/appcache_request_handler_unittest.cc @@ -413,8 +413,8 @@ class AppCacheRequestHandlerTest net::HttpResponseInfo info; std::string headers = base::StringPrintf("HTTP/1.1 %i Muffin\r\n\r\n", response_code); - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); if (request_handler_type_ == URLREQUEST) { job_factory_->SetJob(std::make_unique( diff --git a/content/browser/appcache/appcache_update_job_unittest.cc b/content/browser/appcache/appcache_update_job_unittest.cc index b1b85de5f9694c..d6820b6de53456 100644 --- a/content/browser/appcache/appcache_update_job_unittest.cc +++ b/content/browser/appcache/appcache_update_job_unittest.cc @@ -618,8 +618,8 @@ class MockURLLoaderFactory : public network::mojom::URLLoaderFactory { } net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; diff --git a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc index 7be862724f0022..a2eaa62a10f8ed 100644 --- a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc +++ b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc @@ -67,8 +67,8 @@ class TestThrottle : public ClearSiteDataThrottle { void SetResponseHeaders(const std::string& headers) { std::string headers_with_status_code = "HTTP/1.1 200\n" + headers; - headers_ = new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers_with_status_code.c_str(), headers_with_status_code.size())); + headers_ = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers_with_status_code)); } MOCK_METHOD4(ClearSiteData, diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc index bf9f3764e3bd56..5c196a342597bf 100644 --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc @@ -1984,8 +1984,8 @@ void NetworkHandler::ContinueInterceptedRequest( LOG(WARNING) << "Can't find headers in raw response"; header_size = 0; } else { - raw_headers = net::HttpUtil::AssembleRawHeaders( - reinterpret_cast(raw.data()), header_size); + raw_headers = net::HttpUtil::AssembleRawHeaders(base::StringPiece( + reinterpret_cast(raw.data()), header_size)); } CHECK_LE(header_size, raw.size()); response_headers = diff --git a/content/browser/frame_host/origin_policy_throttle_unittest.cc b/content/browser/frame_host/origin_policy_throttle_unittest.cc index a7d968ab13bc71..4f90af180327ab 100644 --- a/content/browser/frame_host/origin_policy_throttle_unittest.cc +++ b/content/browser/frame_host/origin_policy_throttle_unittest.cc @@ -123,9 +123,8 @@ TEST_P(OriginPolicyThrottleTest, RunRequestEndToEnd) { // is deferred. const char* raw_headers = "HTTP/1.1 200 OK\nSec-Origin-Policy: policy=policy-1\n\n"; - scoped_refptr headers = - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_headers, strlen(raw_headers))); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); NavigationHandleImpl* nav_handle = static_cast(navigation->GetNavigationHandle()); nav_handle->set_response_headers_for_testing(headers); @@ -186,9 +185,8 @@ TEST_P(OriginPolicyThrottleTest, AddExceptionEndToEnd) { // Fake a response with a policy header. const char* raw_headers = "HTTP/1.1 200 OK\nSec-Origin-Policy: policy=policy-1\n\n"; - scoped_refptr headers = - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(raw_headers, strlen(raw_headers))); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(raw_headers)); NavigationHandleImpl* nav_handle = static_cast(navigation->GetNavigationHandle()); nav_handle->set_response_headers_for_testing(headers); diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc index 85c0942ff38d83..976f85b2aaf2a9 100644 --- a/content/browser/service_worker/embedded_worker_test_helper.cc +++ b/content/browser/service_worker/embedded_worker_test_helper.cc @@ -41,8 +41,8 @@ class EmbeddedWorkerTestHelper::MockNetworkURLLoaderFactory final traffic_annotation) override { std::string headers = "HTTP/1.1 200 OK\n\n"; net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/content/browser/service_worker/service_worker_new_script_loader_unittest.cc b/content/browser/service_worker/service_worker_new_script_loader_unittest.cc index 6a3f4f807dd64e..34a6a4057abcbe 100644 --- a/content/browser/service_worker/service_worker_new_script_loader_unittest.cc +++ b/content/browser/service_worker/service_worker_new_script_loader_unittest.cc @@ -93,8 +93,7 @@ class MockNetworkURLLoaderFactory final // Pass the response header to the client. net::HttpResponseInfo info; info.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(response.headers.c_str(), - response.headers.size())); + net::HttpUtil::AssembleRawHeaders(response.headers)); network::ResourceResponseHead response_head; response_head.headers = info.headers; response_head.headers->GetMimeType(&response_head.mime_type); diff --git a/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc b/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc index 0531290c04c0d8..8da31c52ece0fd 100644 --- a/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc +++ b/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc @@ -45,8 +45,8 @@ class MockNetworkURLLoaderFactory final "HTTP/1.1 200 OK\n" "Content-Type: application/javascript\n\n"; net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/content/browser/service_worker/service_worker_single_script_update_checker_unittest.cc b/content/browser/service_worker/service_worker_single_script_update_checker_unittest.cc index 38c55e65361b46..3afd81846f4aa0 100644 --- a/content/browser/service_worker/service_worker_single_script_update_checker_unittest.cc +++ b/content/browser/service_worker/service_worker_single_script_update_checker_unittest.cc @@ -102,7 +102,7 @@ class ServiceWorkerSingleScriptUpdateCheckerTest : public testing::Test { auto loader_factory = std::make_unique(); network::ResourceResponseHead head; head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(header.c_str(), header.size())); + net::HttpUtil::AssembleRawHeaders(header)); network::URLLoaderCompletionStatus status(error); status.decoded_body_length = body.size(); loader_factory->AddResponse(url, head, body, status); diff --git a/content/browser/speech/speech_recognition_engine_unittest.cc b/content/browser/speech/speech_recognition_engine_unittest.cc index b6479b9a470ad2..a4062a1c58015f 100644 --- a/content/browser/speech/speech_recognition_engine_unittest.cc +++ b/content/browser/speech/speech_recognition_engine_unittest.cc @@ -563,8 +563,8 @@ void SpeechRecognitionEngineTest::ProvideMockResponseStartDownstreamIfNeeded() { network::ResourceResponseHead head; std::string headers("HTTP/1.1 200 OK\n\n"); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); downstream_request->client->OnReceiveResponse(head); mojo::DataPipe data_pipe; @@ -631,8 +631,8 @@ void SpeechRecognitionEngineTest::CloseMockDownstream( ASSERT_TRUE(downstream_request); network::ResourceResponseHead head; std::string headers("HTTP/1.1 500 Server Sad\n\n"); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); downstream_request->client->OnReceiveResponse(head); // Wait for the response to be handled. base::RunLoop().RunUntilIdle(); diff --git a/content/browser/speech/speech_recognizer_impl_unittest.cc b/content/browser/speech/speech_recognizer_impl_unittest.cc index 89a1ca0db74ff6..0c8ae645b21b65 100644 --- a/content/browser/speech/speech_recognizer_impl_unittest.cc +++ b/content/browser/speech/speech_recognizer_impl_unittest.cc @@ -580,7 +580,7 @@ TEST_F(SpeechRecognizerImplTest, ServerError) { network::ResourceResponseHead response; const char kHeaders[] = "HTTP/1.0 500 Internal Server Error"; response.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(kHeaders, base::size(kHeaders))); + net::HttpUtil::AssembleRawHeaders(kHeaders)); url_loader_factory_.AddResponse(pending_request->request.url, response, "", network::URLLoaderCompletionStatus()); diff --git a/content/browser/web_package/signed_exchange_envelope.cc b/content/browser/web_package/signed_exchange_envelope.cc index e090e5fae8ffa8..82000263d68c3b 100644 --- a/content/browser/web_package/signed_exchange_envelope.cc +++ b/content/browser/web_package/signed_exchange_envelope.cc @@ -361,7 +361,7 @@ SignedExchangeEnvelope::BuildHttpResponseHeaders() const { } header_str.append("\r\n"); return base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(header_str.c_str(), header_str.size())); + net::HttpUtil::AssembleRawHeaders(header_str)); } void SignedExchangeEnvelope::set_cbor_header(base::span data) { diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/browser/web_package/signed_exchange_loader.cc index d377c5d9dded1e..1593702a254f03 100644 --- a/content/browser/web_package/signed_exchange_loader.cc +++ b/content/browser/web_package/signed_exchange_loader.cc @@ -109,8 +109,8 @@ class SignedExchangeLoader::OuterResponseInfo { "link: %s\r\n", 303, "See Other", link_header_.c_str()); } - response_head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(buf.c_str(), buf.size())); + response_head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(buf)); response_head.encoded_data_length = 0; response_head.request_start = request_start_; response_head.response_start = response_start_; diff --git a/content/browser/web_package/signed_exchange_loader_unittest.cc b/content/browser/web_package/signed_exchange_loader_unittest.cc index 0aae537ecd2997..9918ebbdc2c8a9 100644 --- a/content/browser/web_package/signed_exchange_loader_unittest.cc +++ b/content/browser/web_package/signed_exchange_loader_unittest.cc @@ -163,8 +163,8 @@ TEST_P(SignedExchangeLoaderTest, Simple) { network::ResourceResponseHead response; std::string headers("HTTP/1.1 200 OK\nnContent-type: foo/bar\n\n"); - response.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + response.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); MockSignedExchangeHandlerFactory factory({MockSignedExchangeHandlerParams( resource_request.url, SignedExchangeLoadResult::kSuccess, net::OK, diff --git a/content/browser/webkit_browsertest.cc b/content/browser/webkit_browsertest.cc index bde196490110f6..eacc310b3172db 100644 --- a/content/browser/webkit_browsertest.cc +++ b/content/browser/webkit_browsertest.cc @@ -28,8 +28,8 @@ bool AbortOnEndInterceptor(URLLoaderInterceptor::RequestParams* params) { "HTTP/1.1 400 This is not OK\n" "Content-type: text/plain\n"; net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/content/browser/worker_host/worker_script_loader_factory_unittest.cc b/content/browser/worker_host/worker_script_loader_factory_unittest.cc index f298cafac5f2bd..b716d66e0695eb 100644 --- a/content/browser/worker_host/worker_script_loader_factory_unittest.cc +++ b/content/browser/worker_host/worker_script_loader_factory_unittest.cc @@ -44,8 +44,8 @@ class MockNetworkURLLoaderFactory final "HTTP/1.1 200 OK\n" "Content-Type: application/javascript\n\n"; net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/content/common/service_worker/service_worker_loader_helpers.cc b/content/common/service_worker/service_worker_loader_helpers.cc index 700157800f8351..f9beb85f357945 100644 --- a/content/common/service_worker/service_worker_loader_helpers.cc +++ b/content/common/service_worker/service_worker_loader_helpers.cc @@ -65,8 +65,8 @@ void ServiceWorkerLoaderHelpers::SaveResponseHeaders( } buf.append("\r\n"); - out_head->headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(buf.c_str(), buf.size())); + out_head->headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(buf)); // Populate |out_head|'s MIME type with the value from the HTTP response // headers. diff --git a/content/common/throttling_url_loader.cc b/content/common/throttling_url_loader.cc index 9943363a257f39..9f1714eb393708 100644 --- a/content/common/throttling_url_loader.cc +++ b/content/common/throttling_url_loader.cc @@ -390,9 +390,8 @@ void ThrottlingURLLoader::StartNow() { "Location: %s\n", net::HTTP_TEMPORARY_REDIRECT, throttle_will_start_redirect_url_.spec().c_str()); - response_head.headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - header_string.c_str(), header_string.length())); + response_head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(header_string)); response_head.encoded_data_length = header_string.size(); OnReceiveRedirect(redirect_info, response_head); return; diff --git a/content/public/test/url_loader_interceptor.cc b/content/public/test/url_loader_interceptor.cc index 7c6bf92cbf8a7e..c40bc0a50bab1c 100644 --- a/content/public/test/url_loader_interceptor.cc +++ b/content/public/test/url_loader_interceptor.cc @@ -465,8 +465,8 @@ void URLLoaderInterceptor::WriteResponse( network::mojom::URLLoaderClient* client, base::Optional ssl_info) { net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc index 6de3884c8ba025..7b9c89cf6f300a 100644 --- a/content/renderer/render_view_browsertest.cc +++ b/content/renderer/render_view_browsertest.cc @@ -2130,8 +2130,8 @@ TEST_F(RendererErrorPageTest, MAYBE_HttpStatusCodeErrorWithEmptyBody) { network::ResourceResponseHead head; std::string headers( "HTTP/1.1 503 SERVICE UNAVAILABLE\nContent-type: text/html\n\n"); - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); TestRenderFrame* main_frame = static_cast(frame()); main_frame->Navigate(head, common_params, CommitNavigationParams()); diff --git a/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc b/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc index 8396c0e04bf97b..c77e44cf98ef09 100644 --- a/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc +++ b/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc @@ -96,8 +96,8 @@ class FakeNetworkURLLoaderFactory final traffic_annotation) override { std::string headers = "HTTP/1.1 200 OK\n\n"; net::HttpResponseInfo info; - info.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + info.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); network::ResourceResponseHead response; response.headers = info.headers; response.headers->GetMimeType(&response.mime_type); @@ -463,8 +463,8 @@ std::unique_ptr CreateResponseInfoFromServiceWorker() { auto head = std::make_unique(); std::string headers = "HTTP/1.1 200 OK\n\n"; - head->headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + head->headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); head->was_fetched_via_service_worker = true; head->was_fallback_required_by_service_worker = false; head->url_list_via_service_worker = std::vector(); diff --git a/extensions/browser/api/web_request/web_request_proxying_url_loader_factory.cc b/extensions/browser/api/web_request/web_request_proxying_url_loader_factory.cc index d14153d07ce7ca..c284ebf1f91b29 100644 --- a/extensions/browser/api/web_request/web_request_proxying_url_loader_factory.cc +++ b/extensions/browser/api/web_request/web_request_proxying_url_loader_factory.cc @@ -427,7 +427,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest:: } } head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.length())); + net::HttpUtil::AssembleRawHeaders(headers)); head.encoded_data_length = 0; current_response_ = head; diff --git a/headless/test/test_network_interceptor.cc b/headless/test/test_network_interceptor.cc index 0d48acd1d82f6b..0d60a0dec78a76 100644 --- a/headless/test/test_network_interceptor.cc +++ b/headless/test/test_network_interceptor.cc @@ -148,8 +148,7 @@ TestNetworkInterceptor::Response::Response(const std::string data) { raw_headers = data.substr(0, end_of_headers); body = data.substr(end_of_headers + strlen(kHeaderDelimiter)); headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(raw_headers.c_str(), - raw_headers.size())); + net::HttpUtil::AssembleRawHeaders(raw_headers)); } TestNetworkInterceptor::Response::Response(const std::string body, @@ -157,8 +156,7 @@ TestNetworkInterceptor::Response::Response(const std::string body, : raw_headers("HTTP/1.1 200 OK\r\nContent-Type: " + mime_type), body(std::move(body)) { headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(raw_headers.c_str(), - raw_headers.size())); + net::HttpUtil::AssembleRawHeaders(raw_headers)); } TestNetworkInterceptor::Response::Response(const Response& r) = default; diff --git a/ios/chrome/browser/web/image_fetch_tab_helper_unittest.mm b/ios/chrome/browser/web/image_fetch_tab_helper_unittest.mm index 4ad6cf1a2a2eac..fa38abcdda6b09 100644 --- a/ios/chrome/browser/web/image_fetch_tab_helper_unittest.mm +++ b/ios/chrome/browser/web/image_fetch_tab_helper_unittest.mm @@ -53,8 +53,7 @@ void SetUpTestSharedURLLoaderFactory() { "HTTP/1.1 200 OK\n" "Content-type: image/png\n\n"; head.headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(raw_header.c_str(), - raw_header.size())); + net::HttpUtil::AssembleRawHeaders(raw_header)); head.mime_type = "image/png"; network::URLLoaderCompletionStatus status; status.decoded_body_length = strlen(kImageData); diff --git a/ios/web/web_state/web_state_impl_unittest.mm b/ios/web/web_state/web_state_impl_unittest.mm index 13c954b7a89589..c80075d369602b 100644 --- a/ios/web/web_state/web_state_impl_unittest.mm +++ b/ios/web/web_state/web_state_impl_unittest.mm @@ -126,16 +126,6 @@ explicit MockWebStatePolicyDecider(WebState* web_state) MOCK_METHOD0(WebStateDestroyed, void()); }; -// Creates and returns an HttpResponseHeader using the string representation. -scoped_refptr HeadersFromString(const char* string) { - std::string raw_string(string); - std::string headers_string = net::HttpUtil::AssembleRawHeaders( - raw_string.c_str(), raw_string.length()); - scoped_refptr headers( - new net::HttpResponseHeaders(headers_string)); - return headers; -} - // Test callback for script commands. // Sets |is_called| to true if it is called, and checks that the parameters // match their expected values. @@ -222,16 +212,16 @@ new WebInterstitialImpl(web_state_.get(), /*new_navigation=*/true, TEST_P(WebStateImplTest, ResponseHeaders) { GURL real_url("http://foo.com/bar"); GURL frame_url("http://frames-r-us.com/"); - scoped_refptr real_headers(HeadersFromString( - "HTTP/1.1 200 OK\r\n" - "Content-Type: text/html\r\n" - "X-Should-Be-Here: yep\r\n" - "\r\n")); - scoped_refptr frame_headers(HeadersFromString( - "HTTP/1.1 200 OK\r\n" - "Content-Type: application/pdf\r\n" - "X-Should-Not-Be-Here: oops\r\n" - "\r\n")); + auto real_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders("HTTP/1.1 200 OK\r\n" + "Content-Type: text/html\r\n" + "X-Should-Be-Here: yep\r\n" + "\r\n")); + auto frame_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders("HTTP/1.1 200 OK\r\n" + "Content-Type: application/pdf\r\n" + "X-Should-Not-Be-Here: oops\r\n" + "\r\n")); // Simulate a load of a page with a frame. web_state_->OnHttpResponseHeadersReceived(real_headers.get(), real_url); web_state_->OnHttpResponseHeadersReceived(frame_headers.get(), frame_url); @@ -252,10 +242,10 @@ new WebInterstitialImpl(web_state_.get(), /*new_navigation=*/true, TEST_P(WebStateImplTest, ResponseHeaderClearing) { GURL url("http://foo.com/"); - scoped_refptr headers(HeadersFromString( - "HTTP/1.1 200 OK\r\n" - "Content-Type: text/html\r\n" - "\r\n")); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders("HTTP/1.1 200 OK\r\n" + "Content-Type: text/html\r\n" + "\r\n")); web_state_->OnHttpResponseHeadersReceived(headers.get(), url); // There should be no headers before loading. diff --git a/net/dns/dns_transaction_unittest.cc b/net/dns/dns_transaction_unittest.cc index a83ecfa0cba03c..01ad86bcc07f36 100644 --- a/net/dns/dns_transaction_unittest.cc +++ b/net/dns/dns_transaction_unittest.cc @@ -514,9 +514,8 @@ class URLRequestMockDohJob : public URLRequestJob, public AsyncSocket { raw_headers.append(base::StringPrintf("Content-Length: %1d\n", static_cast(content_length_))); } - info->headers = - base::MakeRefCounted(HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), static_cast(raw_headers.length()))); + info->headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); if (response_modifier_) response_modifier_.Run(request(), info); } diff --git a/net/http/http_auth_controller_unittest.cc b/net/http/http_auth_controller_unittest.cc index b2c9036583b1c1..39b9c7868f2dd5 100644 --- a/net/http/http_auth_controller_unittest.cc +++ b/net/http/http_auth_controller_unittest.cc @@ -36,12 +36,8 @@ enum SchemeState { }; scoped_refptr HeadersFromString(const char* string) { - std::string raw_string(string); - std::string headers_string = HttpUtil::AssembleRawHeaders( - raw_string.c_str(), raw_string.length()); - scoped_refptr headers( - new HttpResponseHeaders(headers_string)); - return headers; + return base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(string)); } // Runs an HttpAuthController with a single round mock auth handler diff --git a/net/http/http_auth_unittest.cc b/net/http/http_auth_unittest.cc index c4a0c32fb246e3..39e32e5dbf20f0 100644 --- a/net/http/http_auth_unittest.cc +++ b/net/http/http_auth_unittest.cc @@ -49,8 +49,8 @@ std::unique_ptr CreateMockHandler(bool connection_based) { scoped_refptr HeadersFromResponseText( const std::string& response) { - return scoped_refptr(new HttpResponseHeaders( - HttpUtil::AssembleRawHeaders(response.c_str(), response.length()))); + return base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(response)); } HttpAuth::AuthorizationResult HandleChallengeResponse( diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc index c4296717332cd5..720abed5d9b293 100644 --- a/net/http/http_cache_unittest.cc +++ b/net/http/http_cache_unittest.cc @@ -555,10 +555,8 @@ const char kFullRangeData[] = // Verifies the response headers (|response|) match a partial content // response for the range starting at |start| and ending at |end|. void Verify206Response(const std::string& response, int start, int end) { - std::string raw_headers( - HttpUtil::AssembleRawHeaders(response.data(), response.size())); - scoped_refptr headers( - new HttpResponseHeaders(raw_headers)); + auto headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(response)); ASSERT_EQ(206, headers->response_code()); @@ -580,13 +578,11 @@ void CreateTruncatedEntry(std::string raw_headers, MockHttpCache* cache) { ASSERT_TRUE( cache->CreateBackendEntry(kRangeGET_TransactionOK.url, &entry, nullptr)); - raw_headers = - HttpUtil::AssembleRawHeaders(raw_headers.data(), raw_headers.size()); - HttpResponseInfo response; response.response_time = base::Time::Now(); response.request_time = base::Time::Now(); - response.headers = new HttpResponseHeaders(raw_headers); + response.headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); // Set the last argument for this to be an incomplete request. EXPECT_TRUE(MockHttpCache::WriteResponseInfo(entry, &response, true, true)); @@ -7736,11 +7732,10 @@ TEST_F(HttpCacheTest, GET_Previous206_NotSparse) { std::string raw_headers(kRangeGET_TransactionOK.status); raw_headers.append("\n"); raw_headers.append(kRangeGET_TransactionOK.response_headers); - raw_headers = - HttpUtil::AssembleRawHeaders(raw_headers.data(), raw_headers.size()); HttpResponseInfo response; - response.headers = new HttpResponseHeaders(raw_headers); + response.headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); EXPECT_TRUE(MockHttpCache::WriteResponseInfo(entry, &response, true, false)); scoped_refptr buf(base::MakeRefCounted(500)); @@ -7784,11 +7779,10 @@ TEST_F(HttpCacheTest, RangeGET_Previous206_NotSparse_2) { std::string raw_headers(kRangeGET_TransactionOK.status); raw_headers.append("\n"); raw_headers.append(kRangeGET_TransactionOK.response_headers); - raw_headers = - HttpUtil::AssembleRawHeaders(raw_headers.data(), raw_headers.size()); HttpResponseInfo response; - response.headers = new HttpResponseHeaders(raw_headers); + response.headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); EXPECT_TRUE(MockHttpCache::WriteResponseInfo(entry, &response, true, false)); scoped_refptr buf = base::MakeRefCounted(500); @@ -7826,11 +7820,10 @@ TEST_F(HttpCacheTest, GET_Previous206_NotValidation) { std::string raw_headers(kRangeGET_TransactionOK.status); raw_headers.append("\n"); raw_headers.append("Content-Length: 80\n"); - raw_headers = - HttpUtil::AssembleRawHeaders(raw_headers.data(), raw_headers.size()); HttpResponseInfo response; - response.headers = new HttpResponseHeaders(raw_headers); + response.headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); EXPECT_TRUE(MockHttpCache::WriteResponseInfo(entry, &response, true, false)); scoped_refptr buf = base::MakeRefCounted(500); @@ -8459,10 +8452,9 @@ TEST_F(HttpCacheTest, WriteResponseInfo_Truncated) { ASSERT_TRUE( cache.CreateBackendEntry("http://www.google.com", &entry, nullptr)); - std::string headers("HTTP/1.1 200 OK"); - headers = HttpUtil::AssembleRawHeaders(headers.data(), headers.size()); HttpResponseInfo response; - response.headers = new HttpResponseHeaders(headers); + response.headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders("HTTP/1.1 200 OK")); // Set the last argument for this to be an incomplete request. EXPECT_TRUE(MockHttpCache::WriteResponseInfo(entry, &response, true, true)); diff --git a/net/http/http_response_headers.cc b/net/http/http_response_headers.cc index 391088579a410c..fe875ba580b716 100644 --- a/net/http/http_response_headers.cc +++ b/net/http/http_response_headers.cc @@ -194,7 +194,7 @@ scoped_refptr HttpResponseHeaders::TryToCreate( } return base::MakeRefCounted( - HttpUtil::AssembleRawHeaders(headers.data(), headers.size())); + HttpUtil::AssembleRawHeaders(headers)); } void HttpResponseHeaders::Persist(base::Pickle* pickle, diff --git a/net/http/http_util.cc b/net/http/http_util.cc index 4bc7de85f88c23..6c0436867b949e 100644 --- a/net/http/http_util.cc +++ b/net/http/http_util.cc @@ -704,22 +704,22 @@ static const char* FindFirstNonLWS(const char* begin, const char* end) { return end; // Not found. } -std::string HttpUtil::AssembleRawHeaders(const char* input_begin, - size_t input_len) { +std::string HttpUtil::AssembleRawHeaders(base::StringPiece input) { std::string raw_headers; - raw_headers.reserve(input_len); + raw_headers.reserve(input.size()); - const char* input_end = input_begin + input_len; + const char* input_end = input.data() + input.size(); // Skip any leading slop, since the consumers of this output // (HttpResponseHeaders) don't deal with it. - size_t status_begin_offset = LocateStartOfStatusLine(input_begin, input_len); + size_t status_begin_offset = + LocateStartOfStatusLine(input.data(), input.size()); if (status_begin_offset != std::string::npos) - input_begin += status_begin_offset; + input.remove_prefix(status_begin_offset); // Copy the status line. - const char* status_line_end = FindStatusLineEnd(input_begin, input_end); - raw_headers.append(input_begin, status_line_end); + const char* status_line_end = FindStatusLineEnd(input.data(), input_end); + raw_headers.append(input.data(), status_line_end); // After the status line, every subsequent line is a header line segment. // Should a segment start with LWS, it is a continuation of the previous diff --git a/net/http/http_util.h b/net/http/http_util.h index c45b41a7067f62..1880257cfb1436 100644 --- a/net/http/http_util.h +++ b/net/http/http_util.h @@ -171,15 +171,14 @@ class NET_EXPORT HttpUtil { // Assemble "raw headers" in the format required by HttpResponseHeaders. // This involves normalizing line terminators, converting [CR]LF to \0 and // handling HTTP line continuations (i.e., lines starting with LWS are - // continuations of the previous line). |buf_len| indicates the position of - // the end-of-headers marker as defined by LocateEndOfHeaders. - // If a \0 appears within the headers themselves, it will be stripped. This - // is a workaround to avoid later code from incorrectly interpreting it as - // a line terminator. + // continuations of the previous line). |buf| should end at the + // end-of-headers marker as defined by LocateEndOfHeaders. If a \0 appears + // within the headers themselves, it will be stripped. This is a workaround to + // avoid later code from incorrectly interpreting it as a line terminator. // // TODO(crbug.com/671799): Should remove or internalize this to // HttpResponseHeaders. - static std::string AssembleRawHeaders(const char* buf, size_t buf_len); + static std::string AssembleRawHeaders(base::StringPiece buf); // Converts assembled "raw headers" back to the HTTP response format. That is // convert each \0 occurence to CRLF. This is used by DevTools. diff --git a/net/http/http_util_unittest.cc b/net/http/http_util_unittest.cc index 0ddf34df2b4f7f..55672d53e60d04 100644 --- a/net/http/http_util_unittest.cc +++ b/net/http/http_util_unittest.cc @@ -691,7 +691,7 @@ TEST(HttpUtilTest, AssembleRawHeaders) { for (size_t i = 0; i < base::size(tests); ++i) { std::string input = tests[i].input; std::replace(input.begin(), input.end(), '|', '\0'); - std::string raw = HttpUtil::AssembleRawHeaders(input.data(), input.size()); + std::string raw = HttpUtil::AssembleRawHeaders(input); std::replace(raw.begin(), raw.end(), '\0', '|'); EXPECT_EQ(tests[i].expected_result, raw); } diff --git a/net/server/http_server_unittest.cc b/net/server/http_server_unittest.cc index cc7d954c94e985..ce54cb54a79a6f 100644 --- a/net/server/http_server_unittest.cc +++ b/net/server/http_server_unittest.cc @@ -157,8 +157,9 @@ class TestHttpClient { // Return true if response has data equal to or more than content length. int64_t body_size = static_cast(response.size()) - end_of_headers; DCHECK_LE(0, body_size); - scoped_refptr headers(new HttpResponseHeaders( - HttpUtil::AssembleRawHeaders(response.data(), end_of_headers))); + auto headers = + base::MakeRefCounted(HttpUtil::AssembleRawHeaders( + base::StringPiece(response.data(), end_of_headers))); return body_size >= headers->GetContentLength(); } diff --git a/net/test/url_request/url_request_hanging_read_job.cc b/net/test/url_request/url_request_hanging_read_job.cc index 6790f6c1c2703a..2cae64e308c666 100644 --- a/net/test/url_request/url_request_hanging_read_job.cc +++ b/net/test/url_request/url_request_hanging_read_job.cc @@ -81,8 +81,8 @@ void URLRequestHangingReadJob::GetResponseInfoConst( "Content-type: text/plain\n"); raw_headers.append( base::StringPrintf("Content-Length: %1d\n", content_length_)); - info->headers = new HttpResponseHeaders(HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), static_cast(raw_headers.length()))); + info->headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); } void URLRequestHangingReadJob::StartAsync() { diff --git a/net/test/url_request/url_request_mock_data_job.cc b/net/test/url_request/url_request_mock_data_job.cc index b6d5471b207dae..b1d17fd45874c1 100644 --- a/net/test/url_request/url_request_mock_data_job.cc +++ b/net/test/url_request/url_request_mock_data_job.cc @@ -158,8 +158,8 @@ void URLRequestMockDataJob::GetResponseInfoConst(HttpResponseInfo* info) const { raw_headers.append(base::StringPrintf("Content-Length: %1d\n", static_cast(data_.length()))); } - info->headers = new HttpResponseHeaders(HttpUtil::AssembleRawHeaders( - raw_headers.c_str(), static_cast(raw_headers.length()))); + info->headers = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(raw_headers)); } void URLRequestMockDataJob::StartAsync() { diff --git a/net/url_request/redirect_info_unittest.cc b/net/url_request/redirect_info_unittest.cc index 30b33d6fa5c8fa..2a4876dac26001 100644 --- a/net/url_request/redirect_info_unittest.cc +++ b/net/url_request/redirect_info_unittest.cc @@ -446,9 +446,8 @@ TEST(RedirectInfoTest, ReferrerPolicy) { std::string response_header_text = "HTTP/1.1 302 Redirect\n" + std::string(test.response_headers); - std::string raw_headers = HttpUtil::AssembleRawHeaders( - response_header_text.c_str(), - static_cast(response_header_text.length())); + std::string raw_headers = + HttpUtil::AssembleRawHeaders(response_header_text); auto response_headers = base::MakeRefCounted(raw_headers); EXPECT_EQ(302, response_headers->response_code()); diff --git a/net/url_request/url_request_redirect_job.cc b/net/url_request/url_request_redirect_job.cc index e53413a0dc7074..028d0b6f1a93bb 100644 --- a/net/url_request/url_request_redirect_job.cc +++ b/net/url_request/url_request_redirect_job.cc @@ -111,9 +111,8 @@ void URLRequestRedirectJob::StartAsync() { http_origin.c_str()); } - fake_headers_ = new HttpResponseHeaders( - HttpUtil::AssembleRawHeaders(header_string.c_str(), - header_string.length())); + fake_headers_ = base::MakeRefCounted( + HttpUtil::AssembleRawHeaders(header_string)); DCHECK(fake_headers_->IsRedirect(nullptr)); request()->net_log().AddEvent( diff --git a/net/url_request/url_request_test_job.cc b/net/url_request/url_request_test_job.cc index e0eacca002d0fe..da2b8d61ef78d7 100644 --- a/net/url_request/url_request_test_job.cc +++ b/net/url_request/url_request_test_job.cc @@ -173,9 +173,8 @@ URLRequestTestJob::URLRequestTestJob(URLRequest* request, offset_(0), async_buf_(nullptr), async_buf_size_(0), - response_headers_(new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(response_headers.c_str(), - response_headers.size()))), + response_headers_(base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(response_headers))), response_headers_length_(response_headers.size()), async_reads_(false), weak_factory_(this) {} @@ -244,8 +243,8 @@ void URLRequestTestJob::StartAsync() { void URLRequestTestJob::SetResponseHeaders( const std::string& response_headers) { - response_headers_ = new HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - response_headers.c_str(), response_headers.size())); + response_headers_ = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(response_headers)); response_headers_length_ = response_headers.size(); } diff --git a/services/network/cross_origin_resource_policy_unittest.cc b/services/network/cross_origin_resource_policy_unittest.cc index 844cfea5d531f8..a19f3f456bf457 100644 --- a/services/network/cross_origin_resource_policy_unittest.cc +++ b/services/network/cross_origin_resource_policy_unittest.cc @@ -16,8 +16,7 @@ CrossOriginResourcePolicy::ParsedHeader ParseHeader( const std::string& test_headers) { std::string all_headers = "HTTP/1.1 200 OK\n" + test_headers + "\n"; auto headers = base::MakeRefCounted( - net::HttpUtil::AssembleRawHeaders(all_headers.c_str(), - all_headers.size())); + net::HttpUtil::AssembleRawHeaders(all_headers)); return CrossOriginResourcePolicy::ParseHeaderForTesting(headers.get()); } diff --git a/services/network/public/cpp/server/http_server_unittest.cc b/services/network/public/cpp/server/http_server_unittest.cc index 6ad13dacc669e0..6351ab56ed5915 100644 --- a/services/network/public/cpp/server/http_server_unittest.cc +++ b/services/network/public/cpp/server/http_server_unittest.cc @@ -138,9 +138,9 @@ class TestHttpClient { // Return true if response has data equal to or more than content length. int64_t body_size = static_cast(response.size()) - end_of_headers; DCHECK_LE(0, body_size); - scoped_refptr headers( - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - response.data(), end_of_headers))); + auto headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders( + base::StringPiece(response.data(), end_of_headers))); return body_size >= headers->GetContentLength(); } diff --git a/services/network/public/cpp/simple_url_loader_unittest.cc b/services/network/public/cpp/simple_url_loader_unittest.cc index 4165904eddbefc..eab773164ca3a7 100644 --- a/services/network/public/cpp/simple_url_loader_unittest.cc +++ b/services/network/public/cpp/simple_url_loader_unittest.cc @@ -1797,8 +1797,8 @@ class MockURLLoader : public network::mojom::URLLoader { "HTTP/1.0 301 The Response Has Moved to Another Server\n" "Location: bar://foo/"); response_info.headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers.c_str(), headers.size())); + base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); client_->OnReceiveRedirect(redirect_info, response_info); break; } @@ -1806,8 +1806,8 @@ class MockURLLoader : public network::mojom::URLLoader { network::ResourceResponseHead response_info; std::string headers("HTTP/1.0 200 OK"); response_info.headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers.c_str(), headers.size())); + base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); client_->OnReceiveResponse(response_info); break; } @@ -1815,8 +1815,8 @@ class MockURLLoader : public network::mojom::URLLoader { network::ResourceResponseHead response_info; std::string headers("HTTP/1.0 401 Client Borkage"); response_info.headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers.c_str(), headers.size())); + base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); client_->OnReceiveResponse(response_info); break; } @@ -1824,8 +1824,8 @@ class MockURLLoader : public network::mojom::URLLoader { network::ResourceResponseHead response_info; std::string headers("HTTP/1.0 501 Server Borkage"); response_info.headers = - new net::HttpResponseHeaders(net::HttpUtil::AssembleRawHeaders( - headers.c_str(), headers.size())); + base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); client_->OnReceiveResponse(response_info); break; } diff --git a/services/network/test/test_utils.cc b/services/network/test/test_utils.cc index 8f59c20b80282d..671e13cd2f1a77 100644 --- a/services/network/test/test_utils.cc +++ b/services/network/test/test_utils.cc @@ -29,8 +29,8 @@ ResourceResponseHead CreateResourceResponseHead(net::HttpStatusCode http_status, base::StringPrintf("HTTP/1.1 %d %s", static_cast(http_status), net::GetHttpReasonPhrase(http_status))); std::string headers = status_line + "\nContent-type: text/html\n\n"; - head.headers = new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size())); + head.headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); if (report_raw_headers) { head.raw_request_response_info = base::MakeRefCounted(); diff --git a/third_party/blink/renderer/platform/network/http_parsers.cc b/third_party/blink/renderer/platform/network/http_parsers.cc index 4a1b211a1f777e..cfeefadde05bf4 100644 --- a/third_party/blink/renderer/platform/network/http_parsers.cc +++ b/third_party/blink/renderer/platform/network/http_parsers.cc @@ -596,9 +596,8 @@ bool ParseMultipartHeadersFromBody(const char* bytes, std::string headers("HTTP/1.1 200 OK\r\n"); headers.append(bytes, headers_end_pos); - scoped_refptr response_headers = - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.data(), headers.length())); + auto response_headers = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); std::string mime_type, charset; response_headers->GetMimeTypeAndCharset(&mime_type, &charset); @@ -640,9 +639,8 @@ bool ParseMultipartFormHeadersFromBody(const char* bytes, std::string headers("HTTP/1.1 200 OK\r\n"); headers.append(bytes, headers_end_pos); - scoped_refptr responseHeaders = - new net::HttpResponseHeaders( - net::HttpUtil::AssembleRawHeaders(headers.data(), headers.length())); + auto responseHeaders = base::MakeRefCounted( + net::HttpUtil::AssembleRawHeaders(headers)); // Copy selected header fields. const AtomicString* const headerNamePointers[] = {