win: Add ENABLE_BASE_TRACING check to fix cef_sandbox build

This commit is contained in:
Marshall Greenblatt 2022-11-16 14:30:07 -05:00
parent d7d0c2fc6d
commit 30a321b1ce
3 changed files with 234 additions and 0 deletions

View File

@ -609,5 +609,15 @@ patches = [
# use_sysroot=false on Ubuntu 18.04. # use_sysroot=false on Ubuntu 18.04.
# https://chromium-review.googlesource.com/c/chromium/src/+/3960017 # https://chromium-review.googlesource.com/c/chromium/src/+/3960017
'name': 'linux_glib_deprecated_volatile' 'name': 'linux_glib_deprecated_volatile'
},
{
# Windows: Add ENABLE_BASE_TRACING check to fix cef_sandbox build.
# https://chromium-review.googlesource.com/c/chromium/src/+/4016554
'name': 'base_process_4016554'
},
{
# Windows: Add ENABLE_BASE_TRACING check to fix cef_sandbox build.
# https://chromium-review.googlesource.com/c/chromium/src/+/4015625
'name': 'base_task_4015625'
} }
] ]

View File

@ -0,0 +1,207 @@
diff --git base/process/current_process.cc base/process/current_process.cc
index d7d705b78bc6b..71e08439a6855 100644
--- base/process/current_process.cc
+++ base/process/current_process.cc
@@ -8,84 +8,96 @@ namespace base {
namespace {
-struct ProcessName {
- CurrentProcessType type;
- const char* name;
-};
-
-constexpr ProcessName kProcessNames[] = {
- {CurrentProcessType::PROCESS_UNSPECIFIED, "Null"},
- {CurrentProcessType::PROCESS_BROWSER, "Browser"},
- {CurrentProcessType::PROCESS_RENDERER, "Renderer"},
- {CurrentProcessType::PROCESS_UTILITY, "Utility"},
- {CurrentProcessType::PROCESS_ZYGOTE, "SandboxHelper"},
- {CurrentProcessType::PROCESS_GPU, "Gpu"},
- {CurrentProcessType::PROCESS_PPAPI_PLUGIN, "PpapiPlugin"},
- {CurrentProcessType::PROCESS_PPAPI_BROKER, "PpapiBroker"},
- {CurrentProcessType::PROCESS_SERVICE_NETWORK,
- "Service: network.mojom.NetworkService"},
- {CurrentProcessType::PROCESS_SERVICE_TRACING,
- "Service: tracing.mojom.TracingService"},
- {CurrentProcessType::PROCESS_SERVICE_STORAGE,
- "Service: storage.mojom.StorageService"},
- {CurrentProcessType::PROCESS_SERVICE_AUDIO,
- "Service: audio.mojom.AudioService"},
- {CurrentProcessType::PROCESS_SERVICE_DATA_DECODER,
- "Service: data_decoder.mojom.DataDecoderService"},
- {CurrentProcessType::PROCESS_SERVICE_UTIL_WIN,
- "Service: chrome.mojom.UtilWin"},
- {CurrentProcessType::PROCESS_SERVICE_PROXY_RESOLVER,
- "Service: proxy_resolver.mojom.ProxyResolverFactory"},
- {CurrentProcessType::PROCESS_SERVICE_CDM,
- "Service: media.mojom.CdmService"},
- {CurrentProcessType::PROCESS_SERVICE_VIDEO_CAPTURE,
- "Service: video_capture.mojom.VideoCaptureService"},
- {CurrentProcessType::PROCESS_SERVICE_UNZIPPER,
- "Service: unzip.mojom.Unzipper"},
- {CurrentProcessType::PROCESS_SERVICE_MIRRORING,
- "Service: mirroring.mojom.MirroringService"},
- {CurrentProcessType::PROCESS_SERVICE_FILEPATCHER,
- "Service: patch.mojom.FilePatcher"},
- {CurrentProcessType::PROCESS_SERVICE_TTS,
- "Service: chromeos.tts.mojom.TtsService"},
- {CurrentProcessType::PROCESS_SERVICE_PRINTING,
- "Service: printing.mojom.PrintingService"},
- {CurrentProcessType::PROCESS_SERVICE_QUARANTINE,
- "Service: quarantine.mojom.Quarantine"},
- {CurrentProcessType::PROCESS_SERVICE_CROS_LOCALSEARCH,
- "Service: chromeos.local_search_service.mojom.LocalSearchService"},
- {CurrentProcessType::PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER,
- "Service: chromeos.assistant.mojom.AssistantAudioDecoderFactory"},
- {CurrentProcessType::PROCESS_SERVICE_FILEUTIL,
- "Service: chrome.mojom.FileUtilService"},
- {CurrentProcessType::PROCESS_SERVICE_PRINTCOMPOSITOR,
- "Service: printing.mojom.PrintCompositor"},
- {CurrentProcessType::PROCESS_SERVICE_PAINTPREVIEW,
- "Service: paint_preview.mojom.PaintPreviewCompositorCollection"},
- {CurrentProcessType::PROCESS_SERVICE_SPEECHRECOGNITION,
- "Service: media.mojom.SpeechRecognitionService"},
- {CurrentProcessType::PROCESS_SERVICE_XRDEVICE,
- "Service: device.mojom.XRDeviceService"},
- {CurrentProcessType::PROCESS_SERVICE_READICON,
- "Service: chrome.mojom.UtilReadIcon"},
- {CurrentProcessType::PROCESS_SERVICE_LANGUAGEDETECTION,
- "Service: language_detection.mojom.LanguageDetectionService"},
- {CurrentProcessType::PROCESS_SERVICE_SHARING,
- "Service: sharing.mojom.Sharing"},
- {CurrentProcessType::PROCESS_SERVICE_MEDIAPARSER,
- "Service: chrome.mojom.MediaParserFactory"},
- {CurrentProcessType::PROCESS_SERVICE_QRCODEGENERATOR,
- "Service: qrcode_generator.mojom.QRCodeGeneratorService"},
- {CurrentProcessType::PROCESS_SERVICE_PROFILEIMPORT,
- "Service: chrome.mojom.ProfileImport"},
- {CurrentProcessType::PROCESS_SERVICE_IME,
- "Service: chromeos.ime.mojom.ImeService"},
- {CurrentProcessType::PROCESS_SERVICE_RECORDING,
- "Service: recording.mojom.RecordingService"},
- {CurrentProcessType::PROCESS_SERVICE_SHAPEDETECTION,
- "Service: shape_detection.mojom.ShapeDetectionService"},
- {CurrentProcessType::PROCESS_RENDERER_EXTENSION, "Extension Renderer"},
-};
+const char* GetNameForProcessType(CurrentProcessType process_type) {
+#if BUILDFLAG(ENABLE_BASE_TRACING)
+ switch (process_type) {
+ case CurrentProcessType::PROCESS_UNSPECIFIED:
+ return "Null";
+ case CurrentProcessType::PROCESS_BROWSER:
+ return "Browser";
+ case CurrentProcessType::PROCESS_RENDERER:
+ return "Renderer";
+ case CurrentProcessType::PROCESS_UTILITY:
+ return "Utility";
+ case CurrentProcessType::PROCESS_ZYGOTE:
+ return "Zygote";
+ case CurrentProcessType::PROCESS_SANDBOX_HELPER:
+ return "SandboxHelper";
+ case CurrentProcessType::PROCESS_GPU:
+ return "Gpu";
+ case CurrentProcessType::PROCESS_PPAPI_PLUGIN:
+ return "PpapiPlugin";
+ case CurrentProcessType::PROCESS_PPAPI_BROKER:
+ return "PpapiBroker";
+ case CurrentProcessType::PROCESS_SERVICE_NETWORK:
+ return "Service: network.mojom.NetworkService";
+ case CurrentProcessType::PROCESS_SERVICE_TRACING:
+ return "Service: tracing.mojom.TracingService";
+ case CurrentProcessType::PROCESS_SERVICE_STORAGE:
+ return "Service: storage.mojom.StorageService";
+ case CurrentProcessType::PROCESS_SERVICE_AUDIO:
+ return "Service: audio.mojom.AudioService";
+ case CurrentProcessType::PROCESS_SERVICE_DATA_DECODER:
+ return "Service: data_decoder.mojom.DataDecoderService";
+ case CurrentProcessType::PROCESS_SERVICE_UTIL_WIN:
+ return "Service: chrome.mojom.UtilWin";
+ case CurrentProcessType::PROCESS_SERVICE_PROXY_RESOLVER:
+ return "Service: proxy_resolver.mojom.ProxyResolverFactory";
+ case CurrentProcessType::PROCESS_SERVICE_CDM:
+ return "Service: media.mojom.CdmService";
+ case CurrentProcessType::PROCESS_SERVICE_VIDEO_CAPTURE:
+ return "Service: video_capture.mojom.VideoCaptureService";
+ case CurrentProcessType::PROCESS_SERVICE_UNZIPPER:
+ return "Service: unzip.mojom.Unzipper";
+ case CurrentProcessType::PROCESS_SERVICE_MIRRORING:
+ return "Service: mirroring.mojom.MirroringService";
+ case CurrentProcessType::PROCESS_SERVICE_FILEPATCHER:
+ return "Service: patch.mojom.FilePatcher";
+ case CurrentProcessType::PROCESS_SERVICE_TTS:
+ return "Service: chromeos.tts.mojom.TtsService";
+ case CurrentProcessType::PROCESS_SERVICE_PRINTING:
+ return "Service: printing.mojom.PrintingService";
+ case CurrentProcessType::PROCESS_SERVICE_QUARANTINE:
+ return "Service: quarantine.mojom.Quarantine";
+ case CurrentProcessType::PROCESS_SERVICE_CROS_LOCALSEARCH:
+ return "Service: chromeos.local_search_service.mojom.LocalSearchService";
+ case CurrentProcessType::PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER:
+ return "Service: chromeos.assistant.mojom.AssistantAudioDecoderFactory";
+ case CurrentProcessType::PROCESS_SERVICE_FILEUTIL:
+ return "Service: chrome.mojom.FileUtilService";
+ case CurrentProcessType::PROCESS_SERVICE_PRINTCOMPOSITOR:
+ return "Service: printing.mojom.PrintCompositor";
+ case CurrentProcessType::PROCESS_SERVICE_PAINTPREVIEW:
+ return "Service: paint_preview.mojom.PaintPreviewCompositorCollection";
+ case CurrentProcessType::PROCESS_SERVICE_SPEECHRECOGNITION:
+ return "Service: media.mojom.SpeechRecognitionService";
+ case CurrentProcessType::PROCESS_SERVICE_XRDEVICE:
+ return "Service: device.mojom.XRDeviceService";
+ case CurrentProcessType::PROCESS_SERVICE_READICON:
+ return "Service: chrome.mojom.UtilReadIcon";
+ case CurrentProcessType::PROCESS_SERVICE_LANGUAGEDETECTION:
+ return "Service: language_detection.mojom.LanguageDetectionService";
+ case CurrentProcessType::PROCESS_SERVICE_SHARING:
+ return "Service: sharing.mojom.Sharing";
+ case CurrentProcessType::PROCESS_SERVICE_MEDIAPARSER:
+ return "Service: chrome.mojom.MediaParserFactory";
+ case CurrentProcessType::PROCESS_SERVICE_QRCODEGENERATOR:
+ return "Service: qrcode_generator.mojom.QRCodeGeneratorService";
+ case CurrentProcessType::PROCESS_SERVICE_PROFILEIMPORT:
+ return "Service: chrome.mojom.ProfileImport";
+ case CurrentProcessType::PROCESS_SERVICE_IME:
+ return "Service: chromeos.ime.mojom.ImeService";
+ case CurrentProcessType::PROCESS_SERVICE_RECORDING:
+ return "Service: recording.mojom.RecordingService";
+ case CurrentProcessType::PROCESS_SERVICE_SHAPEDETECTION:
+ return "Service: shape_detection.mojom.ShapeDetectionService";
+ case CurrentProcessType::PROCESS_RENDERER_EXTENSION:
+ return "Extension Renderer";
+ }
+#else
+ return "Null";
+#endif // BUILDFLAG(ENABLE_BASE_TRACING)
+}
} // namespace
@@ -96,12 +108,7 @@ CurrentProcess& CurrentProcess::GetInstance() {
}
void CurrentProcess::SetProcessType(CurrentProcessType process_type) {
- std::string process_name;
- for (size_t i = 0; i < std::size(kProcessNames); ++i) {
- if (process_type == kProcessNames[i].type) {
- process_name = kProcessNames[i].name;
- }
- }
+ std::string process_name = GetNameForProcessType(process_type);
CurrentProcess::GetInstance().SetProcessNameAndType(process_name,
process_type);
}
diff --git base/trace_event/trace_event_stub.h base/trace_event/trace_event_stub.h
index adb407d72b8e5..1ced7d3903ff1 100644
--- base/trace_event/trace_event_stub.h
+++ base/trace_event/trace_event_stub.h
@@ -256,9 +256,6 @@ inline const char* QueueName_Name(QueueName value) {
namespace ChromeProcessDescriptor {
enum ProcessType {};
-inline const char* ProcessType_Name(ProcessType process_type) {
- return "";
-}
} // namespace ChromeProcessDescriptor

View File

@ -0,0 +1,17 @@
diff --git base/task/common/task_annotator.cc base/task/common/task_annotator.cc
index 289d1d1f1bd88..b9ed6e32fdc44 100644
--- base/task/common/task_annotator.cc
+++ base/task/common/task_annotator.cc
@@ -292,6 +292,12 @@ TaskAnnotator::LongTaskTracker::~LongTaskTracker() {
perfetto::Track::ThreadScoped(task_annotator_),
task_end_time);
}
+#if !BUILDFLAG(ENABLE_BASE_TRACING)
+ // Suppress the unused variable warning when TRACE_EVENT macros are turned
+ // into no-op.
+ (void)pending_task_;
+ (void)task_annotator_;
+#endif // !BUILDFLAG(ENABLE_BASE_TRACING)
}
void TaskAnnotator::LongTaskTracker::SetIpcDetails(const char* interface_name,