Remove deprecated base::Value APIs
[Code Health Rotation] Update tracing controller to remove deprecated base::Value APIs.
Bug: 1351415
Change-Id: Ide68cfc150ba133d2433967df82ec440d5f35b34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3819806
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Iman Saboori <isaboori@google.com>
Reviewed-by: Siddhartha S <ssid@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1034650}
diff --git a/android_webview/browser/tracing/aw_tracing_delegate.cc b/android_webview/browser/tracing/aw_tracing_delegate.cc
index d270791b..322dce22 100644
--- a/android_webview/browser/tracing/aw_tracing_delegate.cc
+++ b/android_webview/browser/tracing/aw_tracing_delegate.cc
@@ -92,9 +92,9 @@
return true;
}
-absl::optional<base::Value> AwTracingDelegate::GenerateMetadataDict() {
- base::Value metadata_dict(base::Value::Type::DICTIONARY);
- metadata_dict.SetStringKey("revision", version_info::GetLastChange());
+absl::optional<base::Value::Dict> AwTracingDelegate::GenerateMetadataDict() {
+ base::Value::Dict metadata_dict;
+ metadata_dict.Set("revision", version_info::GetLastChange());
return metadata_dict;
}
diff --git a/android_webview/browser/tracing/aw_tracing_delegate.h b/android_webview/browser/tracing/aw_tracing_delegate.h
index 5972f48..b943d09a 100644
--- a/android_webview/browser/tracing/aw_tracing_delegate.h
+++ b/android_webview/browser/tracing/aw_tracing_delegate.h
@@ -31,7 +31,7 @@
const content::BackgroundTracingConfig& config,
bool requires_anonymized_data,
bool is_crash_scenario) override;
- absl::optional<base::Value> GenerateMetadataDict() override;
+ absl::optional<base::Value::Dict> GenerateMetadataDict() override;
};
} // namespace android_webview
diff --git a/chrome/browser/tracing/chrome_tracing_delegate.cc b/chrome/browser/tracing/chrome_tracing_delegate.cc
index 4ba6f3d..88dbb61 100644
--- a/chrome/browser/tracing/chrome_tracing_delegate.cc
+++ b/chrome/browser/tracing/chrome_tracing_delegate.cc
@@ -267,8 +267,9 @@
#endif
}
-absl::optional<base::Value> ChromeTracingDelegate::GenerateMetadataDict() {
- base::Value metadata_dict(base::Value::Type::DICTIONARY);
+absl::optional<base::Value::Dict>
+ChromeTracingDelegate::GenerateMetadataDict() {
+ base::Value::Dict metadata_dict;
std::vector<std::string> variations;
variations::GetFieldTrialActiveGroupIdsAsStrings(base::StringPiece(),
&variations);
@@ -277,7 +278,7 @@
for (const auto& it : variations)
variations_list.Append(it);
- metadata_dict.SetKey("field-trials", std::move(variations_list));
- metadata_dict.SetStringKey("revision", version_info::GetLastChange());
+ metadata_dict.Set("field-trials", std::move(variations_list));
+ metadata_dict.Set("revision", version_info::GetLastChange());
return metadata_dict;
}
diff --git a/chrome/browser/tracing/chrome_tracing_delegate.h b/chrome/browser/tracing/chrome_tracing_delegate.h
index 2b9730bd..28276fa 100644
--- a/chrome/browser/tracing/chrome_tracing_delegate.h
+++ b/chrome/browser/tracing/chrome_tracing_delegate.h
@@ -53,7 +53,7 @@
bool IsSystemWideTracingEnabled() override;
- absl::optional<base::Value> GenerateMetadataDict() override;
+ absl::optional<base::Value::Dict> GenerateMetadataDict() override;
private:
FRIEND_TEST_ALL_PREFIXES(ChromeTracingDelegateBrowserTest,
diff --git a/content/browser/tracing/background_tracing_active_scenario.cc b/content/browser/tracing/background_tracing_active_scenario.cc
index 6b125594..26dcd3f 100644
--- a/content/browser/tracing/background_tracing_active_scenario.cc
+++ b/content/browser/tracing/background_tracing_active_scenario.cc
@@ -559,7 +559,7 @@
return nullptr;
}
-base::Value BackgroundTracingActiveScenario::GenerateMetadataDict() {
+base::Value::Dict BackgroundTracingActiveScenario::GenerateMetadataDict() {
base::Value::Dict metadata_dict;
metadata_dict.Set("config", config_->ToDict());
metadata_dict.Set("scenario_name", config_->scenario_name());
@@ -568,7 +568,7 @@
metadata_dict.Set("last_triggered_rule", last_triggered_rule_->ToDict());
}
- return base::Value(std::move(metadata_dict));
+ return metadata_dict;
}
void BackgroundTracingActiveScenario::GenerateMetadataProto(
diff --git a/content/browser/tracing/background_tracing_active_scenario.h b/content/browser/tracing/background_tracing_active_scenario.h
index ff8ebe4..4639a84f 100644
--- a/content/browser/tracing/background_tracing_active_scenario.h
+++ b/content/browser/tracing/background_tracing_active_scenario.h
@@ -41,7 +41,7 @@
void AbortScenario();
CONTENT_EXPORT const BackgroundTracingConfigImpl* GetConfig() const;
- base::Value GenerateMetadataDict();
+ base::Value::Dict GenerateMetadataDict();
void GenerateMetadataProto(
perfetto::protos::pbzero::ChromeMetadataPacket* metadata);
State state() const { return scenario_state_; }
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc
index d653402..efa00bf 100644
--- a/content/browser/tracing/background_tracing_manager_impl.cc
+++ b/content/browser/tracing/background_tracing_manager_impl.cc
@@ -450,7 +450,7 @@
is_crash_scenario));
}
-absl::optional<base::Value>
+absl::optional<base::Value::Dict>
BackgroundTracingManagerImpl::GenerateMetadataDict() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (!active_scenario_)
diff --git a/content/browser/tracing/background_tracing_manager_impl.h b/content/browser/tracing/background_tracing_manager_impl.h
index 805c976..1fd336d 100644
--- a/content/browser/tracing/background_tracing_manager_impl.h
+++ b/content/browser/tracing/background_tracing_manager_impl.h
@@ -166,7 +166,7 @@
~BackgroundTracingManagerImpl() override;
bool IsSupportedConfig(BackgroundTracingConfigImpl* config);
- absl::optional<base::Value> GenerateMetadataDict();
+ absl::optional<base::Value::Dict> GenerateMetadataDict();
void GenerateMetadataProto(
perfetto::protos::pbzero::ChromeMetadataPacket* metadata,
bool privacy_filtering_enabled);
diff --git a/content/browser/tracing/tracing_controller_browsertest.cc b/content/browser/tracing/tracing_controller_browsertest.cc
index cda3e2b..1bbee268 100644
--- a/content/browser/tracing/tracing_controller_browsertest.cc
+++ b/content/browser/tracing/tracing_controller_browsertest.cc
@@ -126,7 +126,7 @@
EXPECT_TRUE(NavigateToURL(shell, GetTestUrl("", "title1.html")));
}
- absl::optional<base::Value> GenerateMetadataDict() {
+ absl::optional<base::Value::Dict> GenerateMetadataDict() {
return std::move(metadata_);
}
@@ -244,8 +244,8 @@
scoped_refptr<TracingController::TraceDataEndpoint> trace_data_endpoint =
TracingController::CreateStringEndpoint(std::move(callback));
- metadata_ = base::Value(base::Value::Type::DICTIONARY);
- metadata_->SetStringKey("not-whitelisted", "this_not_found");
+ metadata_ = base::Value::Dict();
+ metadata_->Set("not-whitelisted", "this_not_found");
tracing::TraceEventAgent::GetInstance()->AddMetadataGeneratorFunction(
base::BindRepeating(&TracingControllerTest::GenerateMetadataDict,
base::Unretained(this)));
@@ -336,7 +336,7 @@
int enable_recording_done_callback_count_;
int disable_recording_done_callback_count_;
base::FilePath last_actual_recording_file_path_;
- absl::optional<base::Value> metadata_;
+ absl::optional<base::Value::Dict> metadata_;
std::unique_ptr<std::string> last_data_;
};
diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc
index 6b9633a..2044c41c0 100644
--- a/content/browser/tracing/tracing_controller_impl.cc
+++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -248,16 +248,17 @@
}
// Can be called on any thread.
-absl::optional<base::Value> TracingControllerImpl::GenerateMetadataDict() {
+absl::optional<base::Value::Dict>
+TracingControllerImpl::GenerateMetadataDict() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- base::Value metadata_dict(base::Value::Type::DICTIONARY);
+ base::Value::Dict metadata_dict;
- metadata_dict.SetStringKey("network-type", GetNetworkTypeString());
- metadata_dict.SetStringKey("product-version",
- GetContentClient()->browser()->GetProduct());
- metadata_dict.SetStringKey("v8-version", V8_VERSION_STRING);
- metadata_dict.SetStringKey("user-agent",
- GetContentClient()->browser()->GetUserAgent());
+ metadata_dict.Set("network-type", GetNetworkTypeString());
+ metadata_dict.Set("product-version",
+ GetContentClient()->browser()->GetProduct());
+ metadata_dict.Set("v8-version", V8_VERSION_STRING);
+ metadata_dict.Set("user-agent",
+ GetContentClient()->browser()->GetUserAgent());
#if BUILDFLAG(IS_ANDROID)
// The library name is used for symbolizing heap profiles. This cannot be
@@ -267,53 +268,50 @@
absl::optional<base::StringPiece> soname =
base::debug::ReadElfLibraryName(&__ehdr_start);
if (soname)
- metadata_dict.SetStringKey("chrome-library-name", *soname);
- metadata_dict.SetStringKey("clock-offset-since-epoch",
- GetClockOffsetSinceEpoch());
+ metadata_dict.Set("chrome-library-name", *soname);
+ metadata_dict.Set("clock-offset-since-epoch", GetClockOffsetSinceEpoch());
#endif // BUILDFLAG(IS_ANDROID)
- metadata_dict.SetIntKey("chrome-bitness", 8 * sizeof(uintptr_t));
+ metadata_dict.Set("chrome-bitness", static_cast<int>(8 * sizeof(uintptr_t)));
#if DCHECK_IS_ON()
- metadata_dict.SetIntKey("chrome-dcheck-on", 1);
+ metadata_dict.Set("chrome-dcheck-on", 1);
#endif
// OS
#if BUILDFLAG(IS_CHROMEOS_ASH)
- metadata_dict.SetStringKey("os-name", "CrOS");
+ metadata_dict.Set("os-name", "CrOS");
if (are_statistics_loaded_)
- metadata_dict.SetStringKey("hardware-class", hardware_class_);
+ metadata_dict.Set("hardware-class", hardware_class_);
#else
- metadata_dict.SetStringKey("os-name", base::SysInfo::OperatingSystemName());
+ metadata_dict.Set("os-name", base::SysInfo::OperatingSystemName());
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
- metadata_dict.SetStringKey("os-version",
- base::SysInfo::OperatingSystemVersion());
+ metadata_dict.Set("os-version", base::SysInfo::OperatingSystemVersion());
#if BUILDFLAG(IS_WIN)
if (base::win::OSInfo::GetArchitecture() ==
base::win::OSInfo::X64_ARCHITECTURE) {
if (base::win::OSInfo::GetInstance()->IsWowX86OnAMD64()) {
- metadata_dict.SetStringKey("os-wow64", "enabled");
+ metadata_dict.Set("os-wow64", "enabled");
} else {
- metadata_dict.SetStringKey("os-wow64", "disabled");
+ metadata_dict.Set("os-wow64", "disabled");
}
}
- metadata_dict.SetStringKey(
- "os-session", base::win::IsCurrentSessionRemote() ? "remote" : "local");
+ metadata_dict.Set("os-session",
+ base::win::IsCurrentSessionRemote() ? "remote" : "local");
#endif
- metadata_dict.SetStringKey("os-arch",
- base::SysInfo::OperatingSystemArchitecture());
+ metadata_dict.Set("os-arch", base::SysInfo::OperatingSystemArchitecture());
// CPU
base::CPU cpu;
- metadata_dict.SetIntKey("cpu-family", cpu.family());
- metadata_dict.SetIntKey("cpu-model", cpu.model());
- metadata_dict.SetIntKey("cpu-stepping", cpu.stepping());
- metadata_dict.SetIntKey("num-cpus", base::SysInfo::NumberOfProcessors());
- metadata_dict.SetIntKey("physical-memory",
- base::SysInfo::AmountOfPhysicalMemoryMB());
+ metadata_dict.Set("cpu-family", cpu.family());
+ metadata_dict.Set("cpu-model", cpu.model());
+ metadata_dict.Set("cpu-stepping", cpu.stepping());
+ metadata_dict.Set("num-cpus", base::SysInfo::NumberOfProcessors());
+ metadata_dict.Set("physical-memory",
+ base::SysInfo::AmountOfPhysicalMemoryMB());
- metadata_dict.SetStringKey("cpu-brand", cpu.cpu_brand());
+ metadata_dict.Set("cpu-brand", cpu.cpu_brand());
// GPU
const gpu::GPUInfo gpu_info =
@@ -321,32 +319,31 @@
const gpu::GPUInfo::GPUDevice& active_gpu = gpu_info.active_gpu();
#if !BUILDFLAG(IS_ANDROID)
- metadata_dict.SetIntKey("gpu-venid", active_gpu.vendor_id);
- metadata_dict.SetIntKey("gpu-devid", active_gpu.device_id);
+ metadata_dict.Set("gpu-venid", static_cast<int>(active_gpu.vendor_id));
+ metadata_dict.Set("gpu-devid", static_cast<int>(active_gpu.device_id));
#endif
- metadata_dict.SetStringKey("gpu-driver", active_gpu.driver_version);
- metadata_dict.SetStringKey("gpu-psver", gpu_info.pixel_shader_version);
- metadata_dict.SetStringKey("gpu-vsver", gpu_info.vertex_shader_version);
+ metadata_dict.Set("gpu-driver", active_gpu.driver_version);
+ metadata_dict.Set("gpu-psver", gpu_info.pixel_shader_version);
+ metadata_dict.Set("gpu-vsver", gpu_info.vertex_shader_version);
#if BUILDFLAG(IS_MAC)
- metadata_dict.SetStringKey("gpu-glver", gpu_info.gl_version);
+ metadata_dict.Set("gpu-glver", gpu_info.gl_version);
#elif BUILDFLAG(IS_POSIX)
- metadata_dict.SetStringKey("gpu-gl-vendor", gpu_info.gl_vendor);
- metadata_dict.SetStringKey("gpu-gl-renderer", gpu_info.gl_renderer);
+ metadata_dict.Set("gpu-gl-vendor", gpu_info.gl_vendor);
+ metadata_dict.Set("gpu-gl-renderer", gpu_info.gl_renderer);
#endif
- metadata_dict.SetKey("gpu-features", GetFeatureStatus());
+ metadata_dict.Set("gpu-features", GetFeatureStatus());
- metadata_dict.SetStringKey("clock-domain", GetClockString());
- metadata_dict.SetBoolKey("highres-ticks",
- base::TimeTicks::IsHighResolution());
+ metadata_dict.Set("clock-domain", GetClockString());
+ metadata_dict.Set("highres-ticks", base::TimeTicks::IsHighResolution());
base::CommandLine::StringType command_line =
base::CommandLine::ForCurrentProcess()->GetCommandLineString();
#if BUILDFLAG(IS_WIN)
- metadata_dict.SetStringKey("command_line", base::WideToUTF16(command_line));
+ metadata_dict.Set("command_line", base::WideToUTF16(command_line));
#else
- metadata_dict.SetStringKey("command_line", command_line);
+ metadata_dict.Set("command_line", command_line);
#endif
base::Time::Exploded ctime;
@@ -354,7 +351,7 @@
std::string time_string = base::StringPrintf(
"%u-%u-%u %d:%d:%d", ctime.year, ctime.month, ctime.day_of_month,
ctime.hour, ctime.minute, ctime.second);
- metadata_dict.SetStringKey("trace-capture-datetime", time_string);
+ metadata_dict.Set("trace-capture-datetime", time_string);
// TODO(crbug.com/737049): The central controller doesn't know about
// metadata filters, so we temporarily filter here as the controller is
@@ -366,7 +363,7 @@
}
if (!metadata_filter.is_null()) {
- for (auto it : metadata_dict.DictItems()) {
+ for (auto it : metadata_dict) {
if (!metadata_filter.Run(it.first)) {
it.second = base::Value("__stripped__");
}
diff --git a/content/browser/tracing/tracing_controller_impl.h b/content/browser/tracing/tracing_controller_impl.h
index 229498f..9dba804 100644
--- a/content/browser/tracing/tracing_controller_impl.h
+++ b/content/browser/tracing/tracing_controller_impl.h
@@ -14,6 +14,7 @@
#include "base/memory/ref_counted.h"
#include "base/task/task_traits.h"
#include "base/timer/timer.h"
+#include "base/values.h"
#include "build/chromeos_buildflags.h"
#include "content/common/content_export.h"
#include "content/public/browser/tracing_controller.h"
@@ -37,7 +38,6 @@
class TraceConfig;
} // namespace trace_event
-class Value;
} // namespace base
namespace tracing {
@@ -95,7 +95,7 @@
~TracingControllerImpl() override;
void AddAgents();
void ConnectToServiceIfNeeded();
- absl::optional<base::Value> GenerateMetadataDict();
+ absl::optional<base::Value::Dict> GenerateMetadataDict();
void GenerateMetadataPacket(perfetto::protos::pbzero::TracePacket* packet,
bool privacy_filtering_enabled);
diff --git a/content/public/browser/tracing_delegate.cc b/content/public/browser/tracing_delegate.cc
index 765bda0c..06cd3d7 100644
--- a/content/public/browser/tracing_delegate.cc
+++ b/content/public/browser/tracing_delegate.cc
@@ -26,7 +26,7 @@
return false;
}
-absl::optional<base::Value> TracingDelegate::GenerateMetadataDict() {
+absl::optional<base::Value::Dict> TracingDelegate::GenerateMetadataDict() {
return absl::nullopt;
}
diff --git a/content/public/browser/tracing_delegate.h b/content/public/browser/tracing_delegate.h
index 86365093..774930a3 100644
--- a/content/public/browser/tracing_delegate.h
+++ b/content/public/browser/tracing_delegate.h
@@ -5,16 +5,11 @@
#ifndef CONTENT_PUBLIC_BROWSER_TRACING_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_TRACING_DELEGATE_H_
-#include <memory>
-
#include "base/callback.h"
+#include "base/values.h"
#include "content/common/content_export.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-class Value;
-} // namespace base
-
namespace content {
class BackgroundTracingConfig;
@@ -39,7 +34,7 @@
virtual bool IsSystemWideTracingEnabled();
// Used to add any additional metadata to traces.
- virtual absl::optional<base::Value> GenerateMetadataDict();
+ virtual absl::optional<base::Value::Dict> GenerateMetadataDict();
};
} // namespace content
diff --git a/services/tracing/public/cpp/trace_event_agent.cc b/services/tracing/public/cpp/trace_event_agent.cc
index 3477d0a..c697868 100644
--- a/services/tracing/public/cpp/trace_event_agent.cc
+++ b/services/tracing/public/cpp/trace_event_agent.cc
@@ -70,7 +70,16 @@
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
metadata_generator_functions_.push_back(generator);
- TraceEventMetadataSource::GetInstance()->AddGeneratorFunction(generator);
+ TraceEventMetadataSource::GetInstance()->AddGeneratorFunction(
+ base::BindRepeating(
+ [](MetadataGeneratorFunction const& generator)
+ -> absl::optional<base::Value> {
+ if (auto rv = generator.Run()) {
+ return base::Value(std::move(rv.value()));
+ }
+ return absl::nullopt;
+ },
+ std::move(generator)));
}
} // namespace tracing
diff --git a/services/tracing/public/cpp/trace_event_agent.h b/services/tracing/public/cpp/trace_event_agent.h
index b505185..be02428 100644
--- a/services/tracing/public/cpp/trace_event_agent.h
+++ b/services/tracing/public/cpp/trace_event_agent.h
@@ -32,7 +32,7 @@
void GetCategories(std::set<std::string>* category_set) override;
using MetadataGeneratorFunction =
- base::RepeatingCallback<absl::optional<base::Value>()>;
+ base::RepeatingCallback<absl::optional<base::Value::Dict>()>;
void AddMetadataGeneratorFunction(MetadataGeneratorFunction generator);
private: