From 7dec53867fc38afc8a41e34ce0d9e9ec0b69336c Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Tue, 30 Sep 2025 00:41:46 +0100 Subject: [PATCH] [cr142] `ReadAndReturnValueWithError` dropped default arg It is now necessary to specifify the options when calling `JSONReader::ReadAndReturnValueWithError`. This change passes the previous defaul value to all callers that were relying on the default. Chromium changes: https://chromium.googlesource.com/chromium/src/+/f52309a095eaa08941f9ff90bd83c0829e01b055 commit f52309a095eaa08941f9ff90bd83c0829e01b055 Author: Daniel Cheng Date: Fri Sep 26 13:54:27 2025 -0700 Remove base::JSONReader::ReadAndReturnValueWithError's default argument for parsing options Callers should be explicit if they need to opt into non-compliant JSON parsing that allows Chromium-specific extensions, e.g. comments. Bug: 446188265 Change-Id: I2a543447c9c82c08e241c35956884f424be3d48e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6980536 Mega-CQ: Daniel Cheng Commit-Queue: Daniel Cheng Reviewed-by: Alex Gough Cr-Commit-Position: refs/heads/main@{#1521538} --- .../brave_referrals/browser/brave_referrals_service.cc | 8 ++++---- components/brave_wallet/browser/keyring_service.cc | 3 ++- components/p3a/star_randomness_points.cc | 3 ++- .../url_sanitizer/core/browser/url_sanitizer_service.cc | 8 ++++---- components/web_discovery/browser/patterns.cc | 3 ++- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/components/brave_referrals/browser/brave_referrals_service.cc b/components/brave_referrals/browser/brave_referrals_service.cc index 968da66ad00..788c3972ef3 100644 --- a/components/brave_referrals/browser/brave_referrals_service.cc +++ b/components/brave_referrals/browser/brave_referrals_service.cc @@ -246,8 +246,8 @@ void BraveReferralsService::OnReferralInitLoadComplete( return; } - auto parsed_json = - base::JSONReader::ReadAndReturnValueWithError(*response_body); + auto parsed_json = base::JSONReader::ReadAndReturnValueWithError( + *response_body, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_json.has_value() || !parsed_json->is_dict()) { LOG(ERROR) << "Failed to parse referral initialization response: " << (!parsed_json.has_value() ? parsed_json.error().message @@ -296,8 +296,8 @@ void BraveReferralsService::OnReferralFinalizationCheckLoadComplete( return; } - auto parsed_json = - base::JSONReader::ReadAndReturnValueWithError(*response_body); + auto parsed_json = base::JSONReader::ReadAndReturnValueWithError( + *response_body, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_json.has_value() || !parsed_json->is_dict()) { LOG(ERROR) << "Failed to parse referral finalization check response: " << (!parsed_json.has_value() ? parsed_json.error().message diff --git a/components/brave_wallet/browser/keyring_service.cc b/components/brave_wallet/browser/keyring_service.cc index 79e3b04bced..9f38e81feeb 100644 --- a/components/brave_wallet/browser/keyring_service.cc +++ b/components/brave_wallet/browser/keyring_service.cc @@ -1420,7 +1420,8 @@ void KeyringService::ImportEthereumAccountFromJson( return; } - auto parsed_json = base::JSONReader::ReadAndReturnValueWithError(json); + auto parsed_json = base::JSONReader::ReadAndReturnValueWithError( + json, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_json.has_value() || !parsed_json->is_dict()) { std::move(callback).Run({}); return; diff --git a/components/p3a/star_randomness_points.cc b/components/p3a/star_randomness_points.cc index 57283d29f8e..37b3feefe61 100644 --- a/components/p3a/star_randomness_points.cc +++ b/components/p3a/star_randomness_points.cc @@ -130,7 +130,8 @@ void StarRandomnessPoints::HandleRandomnessResponse( } url_loaders_[log_type] = nullptr; base::JSONReader::Result parsed_body = - base::JSONReader::ReadAndReturnValueWithError(*response_body); + base::JSONReader::ReadAndReturnValueWithError( + *response_body, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_body.has_value() || !parsed_body.value().is_dict()) { LOG(ERROR) << "StarRandomnessPoints: failed to parse randomness " "response json: " diff --git a/components/url_sanitizer/core/browser/url_sanitizer_service.cc b/components/url_sanitizer/core/browser/url_sanitizer_service.cc index ffcc3217403..f930b530464 100644 --- a/components/url_sanitizer/core/browser/url_sanitizer_service.cc +++ b/components/url_sanitizer/core/browser/url_sanitizer_service.cc @@ -54,8 +54,8 @@ std::optional> CreateParamsList( URLSanitizerService::Config ParseConfig( const URLSanitizerComponentInstaller::RawConfig& raw_config) { - auto parsed_json = - base::JSONReader::ReadAndReturnValueWithError(raw_config.matchers); + auto parsed_json = base::JSONReader::ReadAndReturnValueWithError( + raw_config.matchers, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_json.has_value()) { VLOG(1) << "Error parsing feature JSON [matchers]: " << parsed_json.error().message; @@ -92,8 +92,8 @@ URLSanitizerService::Config ParseConfig( std::move(*params)); } - parsed_json = - base::JSONReader::ReadAndReturnValueWithError(raw_config.permissions); + parsed_json = base::JSONReader::ReadAndReturnValueWithError( + raw_config.permissions, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!parsed_json.has_value()) { VLOG(1) << "Error parsing feature JSON [permission]: " << parsed_json.error().message; diff --git a/components/web_discovery/browser/patterns.cc b/components/web_discovery/browser/patterns.cc index 028c1568ad2..a3b815092ee 100644 --- a/components/web_discovery/browser/patterns.cc +++ b/components/web_discovery/browser/patterns.cc @@ -289,7 +289,8 @@ const PatternsURLDetails* PatternsGroup::GetMatchingURLPattern( std::unique_ptr ParsePatterns(std::string_view patterns_json) { base::AssertLongCPUWorkAllowed(); const auto patterns_parse_result = - base::JSONReader::ReadAndReturnValueWithError(patterns_json); + base::JSONReader::ReadAndReturnValueWithError( + patterns_json, base::JSON_PARSE_CHROMIUM_EXTENSIONS); if (!patterns_parse_result.has_value()) { VLOG(1) << "Failed to parse patterns JSON: " << patterns_parse_result.error().ToString();