Skip to content

Commit a378e34

Browse files
haoliukChromium LUCI CQ
authored and
Chromium LUCI CQ
committed
Fix Resource Timing Encoded Body Size overflow.
The existing 'encoded_body_length' in url_response_head.mojom is default to -1. In some cases, this default value is not overwritten and is propagated all the way to JS code and caused number overflow. See details in the last comments of crbug.com/1324812. This CL wraps the `encoded_body_length` without default value into a struct which is made optional. This way, the case it is not set and it is set to 0 and when it is not set, 0 would be used explicitly in the downstream code. Also the type of the field is changed into uint64_t to align with the V8 binding. And because uint64_t and int64 has different range, so variables passed from and into the mojom field also changed their types. Most of files touched are just of this change. Bug: 1336219,1324812 Change-Id: I67f7bd3e47e4f71f719bab9b56cfaa9d388c6f7a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4126836 Reviewed-by: danakj <danakj@chromium.org> Commit-Queue: Hao Liu <haoliuk@chromium.org> Reviewed-by: Yoav Weiss <yoavweiss@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Cr-Commit-Position: refs/heads/main@{#1091612}
1 parent c0d24bb commit a378e34

29 files changed

+66
-41
lines changed

content/browser/devtools/devtools_url_loader_interceptor.cc

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#include "services/network/public/cpp/resource_request_body.h"
4242
#include "services/network/public/cpp/url_loader_completion_status.h"
4343
#include "services/network/public/mojom/early_hints.mojom.h"
44+
#include "services/network/public/mojom/encoded_body_length.mojom-forward.h"
45+
#include "services/network/public/mojom/encoded_body_length.mojom.h"
4446
#include "services/network/public/mojom/network_context.mojom.h"
4547
#include "services/network/public/mojom/url_loader.mojom.h"
4648
#include "third_party/blink/public/platform/resource_request_blocked_reason.h"
@@ -1220,7 +1222,7 @@ Response InterceptionJob::ProcessResponseOverride(
12201222
size_t headers_size = head->headers->raw_headers().size();
12211223
head->content_length = body_size;
12221224
head->encoded_data_length = headers_size;
1223-
head->encoded_body_length = 0;
1225+
head->encoded_body_length = network::mojom::EncodedBodyLength::New(0u);
12241226
head->request_start = start_ticks_;
12251227
head->response_start = now_ticks;
12261228

content/public/test/render_view_test.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class FakeWebURLLoader : public blink::WebURLLoader {
117117
absl::optional<blink::WebURLError>&,
118118
blink::WebData&,
119119
int64_t&,
120-
int64_t&,
120+
uint64_t&,
121121
blink::WebBlobInfo&,
122122
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>) override {
123123
client->DidFail(blink::WebURLError(kFailureReason, request->url),

services/network/public/mojom/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ mojom("url_loader_base") {
342342
"data_pipe_getter.mojom",
343343
"devtools_observer.mojom",
344344
"early_hints.mojom",
345+
"encoded_body_length.mojom",
345346
"fetch_api.mojom",
346347
"http_raw_headers.mojom",
347348
"http_request_headers.mojom",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright 2023 The Chromium Authors
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
module network.mojom;
6+
7+
// This struct contains a encoded body length which is of type unsign long and
8+
// is used as an optional value.
9+
struct EncodedBodyLength {
10+
uint64 value;
11+
};

services/network/public/mojom/url_response_head.mojom

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module network.mojom;
77
import "mojo/public/mojom/base/time.mojom";
88
import "mojo/public/mojom/base/unguessable_token.mojom";
99
import "services/network/public/mojom/alternate_protocol_usage.mojom";
10+
import "services/network/public/mojom/encoded_body_length.mojom";
1011
import "services/network/public/mojom/fetch_api.mojom";
1112
import "services/network/public/mojom/ip_address_space.mojom";
1213
import "services/network/public/mojom/ip_endpoint.mojom";
@@ -55,9 +56,9 @@ struct URLResponseHead {
5556
// no data, contains -1.
5657
int64 encoded_data_length = -1;
5758

58-
// Length of the response body data before decompression. -1 unless the body
59-
// has been read to the end.
60-
int64 encoded_body_length = -1;
59+
// Length of the response body data before decompression. It is null unless
60+
// the body has been read to the end.
61+
network.mojom.EncodedBodyLength? encoded_body_length;
6162

6263
// True if the request accessed the network in the process of retrieving data.
6364
bool network_accessed = false;

third_party/blink/public/platform/internet_disconnected_web_url_loader.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class InternetDisconnectedWebURLLoader final : public WebURLLoader {
5555
absl::optional<WebURLError>&,
5656
WebData&,
5757
int64_t& encoded_data_length,
58-
int64_t& encoded_body_length,
58+
uint64_t& encoded_body_length,
5959
WebBlobInfo& downloaded_blob,
6060
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
6161
resource_load_info_notifier_wrapper) override;

third_party/blink/public/platform/web_url_loader.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class BLINK_PLATFORM_EXPORT WebURLLoader {
109109
absl::optional<WebURLError>& error,
110110
WebData& data,
111111
int64_t& encoded_data_length,
112-
int64_t& encoded_body_length,
112+
uint64_t& encoded_body_length,
113113
WebBlobInfo& downloaded_blob,
114114
std::unique_ptr<ResourceLoadInfoNotifierWrapper>
115115
resource_load_info_notifier_wrapper);

third_party/blink/public/platform/web_url_loader_client.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class BLINK_PLATFORM_EXPORT WebURLLoaderClient {
113113
virtual void DidFinishLoading(
114114
base::TimeTicks finish_time,
115115
int64_t total_encoded_data_length,
116-
int64_t total_encoded_body_length,
116+
uint64_t total_encoded_body_length,
117117
int64_t total_decoded_body_length,
118118
bool should_report_corb_blocking,
119119
absl::optional<bool> pervasive_payload_requested = absl::nullopt) {}
@@ -124,7 +124,7 @@ class BLINK_PLATFORM_EXPORT WebURLLoaderClient {
124124
virtual void DidFail(const WebURLError&,
125125
base::TimeTicks finish_time,
126126
int64_t total_encoded_data_length,
127-
int64_t total_encoded_body_length,
127+
uint64_t total_encoded_body_length,
128128
int64_t total_decoded_body_length) {}
129129

130130
// Value passed to DidFinishLoading when total encoded data length isn't

third_party/blink/public/platform/web_url_response.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ class BLINK_PLATFORM_EXPORT WebURLResponse {
247247

248248
// Original size of the response body before decompression.
249249
int64_t EncodedBodyLength() const;
250-
void SetEncodedBodyLength(int64_t);
250+
void SetEncodedBodyLength(uint64_t);
251251

252252
void SetIsSignedExchangeInnerResponse(bool);
253253
void SetWasInPrefetchCache(bool);

third_party/blink/renderer/bindings/core/v8/script_streamer_test.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class NoopLoaderFactory final : public ResourceFetcher::LoaderFactory {
109109
absl::optional<WebURLError>&,
110110
WebData&,
111111
int64_t& encoded_data_length,
112-
int64_t& encoded_body_length,
112+
uint64_t& encoded_body_length,
113113
WebBlobInfo& downloaded_blob,
114114
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
115115
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/core/editing/serializers/serialization.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ class FailingLoader final : public WebURLLoader {
140140
absl::optional<WebURLError>& error,
141141
WebData&,
142142
int64_t& encoded_data_length,
143-
int64_t& encoded_body_length,
143+
uint64_t& encoded_body_length,
144144
WebBlobInfo& downloaded_blob,
145145
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
146146
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/core/loader/prefetched_signed_exchange_manager.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class PrefetchedSignedExchangeManager::PrefetchedSignedExchangeLoader
9393
absl::optional<WebURLError>& error,
9494
WebData& data,
9595
int64_t& encoded_data_length,
96-
int64_t& encoded_body_length,
96+
uint64_t& encoded_body_length,
9797
WebBlobInfo& downloaded_blob,
9898
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
9999
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/core/svg/graphics/svg_image.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class FailingLoader final : public WebURLLoader {
113113
absl::optional<WebURLError>& error,
114114
WebData&,
115115
int64_t& encoded_data_length,
116-
int64_t& encoded_body_length,
116+
uint64_t& encoded_body_length,
117117
WebBlobInfo& downloaded_blob,
118118
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
119119
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/core/testing/no_network_web_url_loader.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class NoNetworkWebURLLoader : public WebURLLoader {
3434
absl::optional<WebURLError>&,
3535
WebData&,
3636
int64_t& encoded_data_length,
37-
int64_t& encoded_body_length,
37+
uint64_t& encoded_body_length,
3838
blink::WebBlobInfo& downloaded_blob,
3939
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
4040
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class FakeWebURLLoader final : public WebURLLoader {
6767
absl::optional<WebURLError>&,
6868
WebData&,
6969
int64_t& encoded_data_length,
70-
int64_t& encoded_body_length,
70+
uint64_t& encoded_body_length,
7171
WebBlobInfo& downloaded_blob,
7272
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
7373
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/platform/exported/web_url_response.cc

+3-2
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ WebURLResponse WebURLResponse::Create(
179179
head.did_service_worker_navigation_preload);
180180
response.SetIsValidated(head.is_validated);
181181
response.SetEncodedDataLength(head.encoded_data_length);
182-
response.SetEncodedBodyLength(head.encoded_body_length);
182+
response.SetEncodedBodyLength(
183+
head.encoded_body_length ? head.encoded_body_length->value : 0);
183184
response.SetWasAlpnNegotiated(head.was_alpn_negotiated);
184185
response.SetAlpnNegotiatedProtocol(
185186
WebString::FromUTF8(head.alpn_negotiated_protocol));
@@ -591,7 +592,7 @@ int64_t WebURLResponse::EncodedBodyLength() const {
591592
return resource_response_->EncodedBodyLength();
592593
}
593594

594-
void WebURLResponse::SetEncodedBodyLength(int64_t length) {
595+
void WebURLResponse::SetEncodedBodyLength(uint64_t length) {
595596
resource_response_->SetEncodedBodyLength(length);
596597
}
597598

third_party/blink/renderer/platform/loader/fetch/resource_loader.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ void ResourceLoader::DidFinishLoadingFirstPartInMultipart() {
12431243
void ResourceLoader::DidFinishLoading(
12441244
base::TimeTicks response_end_time,
12451245
int64_t encoded_data_length,
1246-
int64_t encoded_body_length,
1246+
uint64_t encoded_body_length,
12471247
int64_t decoded_body_length,
12481248
bool should_report_corb_blocking,
12491249
absl::optional<bool> pervasive_payload_requested) {
@@ -1304,7 +1304,7 @@ void ResourceLoader::DidFinishLoading(
13041304
void ResourceLoader::DidFail(const WebURLError& error,
13051305
base::TimeTicks response_end_time,
13061306
int64_t encoded_data_length,
1307-
int64_t encoded_body_length,
1307+
uint64_t encoded_body_length,
13081308
int64_t decoded_body_length) {
13091309
const ResourceRequestHead& request = resource_->GetResourceRequest();
13101310
response_end_time_for_error_cases_ = response_end_time;
@@ -1393,7 +1393,7 @@ void ResourceLoader::RequestSynchronously(const ResourceRequestHead& request) {
13931393
absl::optional<WebURLError> error_out;
13941394
WebData data_out;
13951395
int64_t encoded_data_length = WebURLLoaderClient::kUnknownEncodedDataLength;
1396-
int64_t encoded_body_length = 0;
1396+
uint64_t encoded_body_length = 0;
13971397
WebBlobInfo downloaded_blob;
13981398

13991399
if (CanHandleDataURLRequestLocally(request)) {

third_party/blink/renderer/platform/loader/fetch/resource_loader.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -151,15 +151,15 @@ class PLATFORM_EXPORT ResourceLoader final
151151
mojo::ScopedDataPipeConsumerHandle body) override;
152152
void DidFinishLoading(base::TimeTicks response_end_time,
153153
int64_t encoded_data_length,
154-
int64_t encoded_body_length,
154+
uint64_t encoded_body_length,
155155
int64_t decoded_body_length,
156156
bool should_report_corb_blocking,
157157
absl::optional<bool> pervasive_payload_requested =
158158
absl::nullopt) override;
159159
void DidFail(const WebURLError&,
160160
base::TimeTicks response_end_time,
161161
int64_t encoded_data_length,
162-
int64_t encoded_body_length,
162+
uint64_t encoded_body_length,
163163
int64_t decoded_body_length) override;
164164

165165
mojom::blink::CodeCacheType GetCodeCacheType() const;

third_party/blink/renderer/platform/loader/fetch/resource_loader_defer_loading_test.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class TestWebURLLoader final : public WebURLLoader {
7272
absl::optional<WebURLError>&,
7373
WebData&,
7474
int64_t& encoded_data_length,
75-
int64_t& encoded_body_length,
75+
uint64_t& encoded_body_length,
7676
WebBlobInfo& downloaded_blob,
7777
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
7878
resource_load_info_notifier_wrapper) override {

third_party/blink/renderer/platform/loader/fetch/resource_response.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ void ResourceResponse::SetEncodedDataLength(int64_t value) {
473473
encoded_data_length_ = value;
474474
}
475475

476-
void ResourceResponse::SetEncodedBodyLength(int64_t value) {
476+
void ResourceResponse::SetEncodedBodyLength(uint64_t value) {
477477
encoded_body_length_ = value;
478478
}
479479

third_party/blink/renderer/platform/loader/fetch/resource_response.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ class PLATFORM_EXPORT ResourceResponse final {
350350
void SetEncodedDataLength(int64_t value);
351351

352352
int64_t EncodedBodyLength() const { return encoded_body_length_; }
353-
void SetEncodedBodyLength(int64_t value);
353+
void SetEncodedBodyLength(uint64_t value);
354354

355355
int64_t DecodedBodyLength() const { return decoded_body_length_; }
356356
void SetDecodedBodyLength(int64_t value);
@@ -612,7 +612,7 @@ class PLATFORM_EXPORT ResourceResponse final {
612612
int64_t encoded_data_length_ = 0;
613613

614614
// Size of the response body in bytes prior to decompression.
615-
int64_t encoded_body_length_ = 0;
615+
uint64_t encoded_body_length_ = 0;
616616

617617
// Sizes of the response body in bytes after any content-encoding is
618618
// removed.

third_party/blink/renderer/platform/loader/fetch/url_loader/sync_load_context.cc

+3-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,9 @@ void SyncLoadContext::OnCompletedRequest(
251251
response_->should_collapse_initiator = status.should_collapse_initiator;
252252
response_->cors_error = status.cors_error_status;
253253
response_->head->encoded_data_length = status.encoded_data_length;
254-
response_->head->encoded_body_length = status.encoded_body_length;
254+
DCHECK_GE(status.encoded_body_length, 0);
255+
response_->head->encoded_body_length =
256+
network::mojom::EncodedBodyLength::New(status.encoded_body_length);
255257
if ((blob_response_started_ && !blob_finished_) || body_handle_.is_valid()) {
256258
// The body is still begin downloaded as a Blob, or being read through the
257259
// handle. Wait until it's completed.

third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader.cc

+5-2
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ void WebURLLoader::LoadSynchronously(
535535
absl::optional<WebURLError>& error,
536536
WebData& data,
537537
int64_t& encoded_data_length,
538-
int64_t& encoded_body_length,
538+
uint64_t& encoded_body_length,
539539
WebBlobInfo& downloaded_blob,
540540
std::unique_ptr<ResourceLoadInfoNotifierWrapper>
541541
resource_load_info_notifier_wrapper) {
@@ -585,7 +585,10 @@ void WebURLLoader::LoadSynchronously(
585585
WebURLResponse::Create(final_url, *sync_load_response.head,
586586
has_devtools_request_id, context_->request_id());
587587
encoded_data_length = sync_load_response.head->encoded_data_length;
588-
encoded_body_length = sync_load_response.head->encoded_body_length;
588+
encoded_body_length =
589+
sync_load_response.head->encoded_body_length
590+
? sync_load_response.head->encoded_body_length->value
591+
: 0;
589592
if (sync_load_response.downloaded_blob) {
590593
downloaded_blob = WebBlobInfo(
591594
WebString::FromLatin1(sync_load_response.downloaded_blob->uuid),

third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_unittest.cc

+10-6
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
#include "net/url_request/redirect_info.h"
3131
#include "services/network/public/cpp/resource_request.h"
3232
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
33+
#include "services/network/public/mojom/encoded_body_length.mojom-forward.h"
34+
#include "services/network/public/mojom/encoded_body_length.mojom.h"
3335
#include "services/network/public/mojom/fetch_api.mojom-shared.h"
3436
#include "services/network/public/mojom/url_loader_completion_status.mojom.h"
3537
#include "services/network/public/mojom/url_response_head.mojom.h"
@@ -104,8 +106,9 @@ class MockResourceRequestSender : public WebResourceRequestSender {
104106
WebBackForwardCacheLoaderHelper back_forward_cache_loader_helper)
105107
override {
106108
EXPECT_FALSE(peer_);
107-
if (sync_load_response_.head->encoded_body_length != -1)
109+
if (sync_load_response_.head->encoded_body_length) {
108110
EXPECT_TRUE(loader_options & network::mojom::kURLLoadOptionSynchronous);
111+
}
109112
peer_ = std::move(peer);
110113
return 1;
111114
}
@@ -247,7 +250,7 @@ class TestWebURLLoaderClient : public WebURLLoaderClient {
247250
void DidFinishLoading(
248251
base::TimeTicks finishTime,
249252
int64_t totalEncodedDataLength,
250-
int64_t totalEncodedBodyLength,
253+
uint64_t totalEncodedBodyLength,
251254
int64_t totalDecodedBodyLength,
252255
bool should_report_corb_blocking,
253256
absl::optional<bool> pervasive_payload_requested) override {
@@ -263,7 +266,7 @@ class TestWebURLLoaderClient : public WebURLLoaderClient {
263266
void DidFail(const WebURLError& error,
264267
base::TimeTicks finishTime,
265268
int64_t totalEncodedDataLength,
266-
int64_t totalEncodedBodyLength,
269+
uint64_t totalEncodedBodyLength,
267270
int64_t totalDecodedBodyLength) override {
268271
EXPECT_TRUE(loader_);
269272
EXPECT_FALSE(did_finish_);
@@ -564,7 +567,7 @@ TEST_F(WebURLLoaderTest, SSLInfo) {
564567
// correctly assigned for sync XHR.
565568
TEST_F(WebURLLoaderTest, SyncLengths) {
566569
static const char kBodyData[] = "Today is Thursday";
567-
const int kEncodedBodyLength = 30;
570+
const uint64_t kEncodedBodyLength = 30;
568571
const int kEncodedDataLength = 130;
569572
const KURL url(kTestURL);
570573

@@ -579,15 +582,16 @@ TEST_F(WebURLLoaderTest, SyncLengths) {
579582
sync_load_response.url = GURL(url);
580583
sync_load_response.data.Assign(WebData(kBodyData));
581584
ASSERT_EQ(17u, sync_load_response.data.size());
582-
sync_load_response.head->encoded_body_length = kEncodedBodyLength;
585+
sync_load_response.head->encoded_body_length =
586+
network::mojom::EncodedBodyLength::New(kEncodedBodyLength);
583587
sync_load_response.head->encoded_data_length = kEncodedDataLength;
584588
sender()->set_sync_load_response(std::move(sync_load_response));
585589

586590
WebURLResponse response;
587591
absl::optional<WebURLError> error;
588592
WebData data;
589593
int64_t encoded_data_length = 0;
590-
int64_t encoded_body_length = 0;
594+
uint64_t encoded_body_length = 0;
591595
WebBlobInfo downloaded_blob;
592596

593597
client()->loader()->LoadSynchronously(

third_party/blink/renderer/platform/loader/internet_disconnected_web_url_loader.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void InternetDisconnectedWebURLLoader::LoadSynchronously(
5353
absl::optional<WebURLError>&,
5454
WebData&,
5555
int64_t& encoded_data_length,
56-
int64_t& encoded_body_length,
56+
uint64_t& encoded_body_length,
5757
WebBlobInfo& downloaded_blob,
5858
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
5959
resource_load_info_notifier_wrapper) {

third_party/blink/renderer/platform/testing/noop_web_url_loader.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void NoopWebURLLoader::LoadSynchronously(
2121
absl::optional<WebURLError>&,
2222
WebData&,
2323
int64_t& encoded_data_length,
24-
int64_t& encoded_body_length,
24+
uint64_t& encoded_body_length,
2525
WebBlobInfo& downloaded_blob,
2626
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
2727
resource_load_info_notifier_wrapper) {

third_party/blink/renderer/platform/testing/noop_web_url_loader.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class NoopWebURLLoader final : public WebURLLoader {
2727
absl::optional<WebURLError>&,
2828
WebData&,
2929
int64_t& encoded_data_length,
30-
int64_t& encoded_body_length,
30+
uint64_t& encoded_body_length,
3131
WebBlobInfo& downloaded_blob,
3232
std::unique_ptr<blink::ResourceLoadInfoNotifierWrapper>
3333
resource_load_info_notifier_wrapper) override;

0 commit comments

Comments
 (0)