mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Use strum
to iterate through enum variants and get their names (#35933)
`strum` allows us to avoid manually listing enum variant names and also to get their names as static strings. We cannot use this for all cases due to https://github.com/Peternator7/strum/issues/152, but we can still use it to remove a lot of code. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
959720db0a
commit
294a649a6c
17 changed files with 51 additions and 285 deletions
|
@ -85,57 +85,8 @@ impl Formattable for ProfilerCategory {
|
|||
ProfilerCategory::LayoutTextShaping => "| + ",
|
||||
_ => "",
|
||||
};
|
||||
let name = match *self {
|
||||
ProfilerCategory::Compositing => "Compositing",
|
||||
ProfilerCategory::LayoutPerform => "Layout",
|
||||
ProfilerCategory::LayoutStyleRecalc => "Style Recalc",
|
||||
ProfilerCategory::LayoutTextShaping => "Text Shaping",
|
||||
ProfilerCategory::LayoutRestyleDamagePropagation => "Restyle Damage Propagation",
|
||||
ProfilerCategory::LayoutGeneratedContent => "Generated Content Resolution",
|
||||
ProfilerCategory::LayoutFloatPlacementSpeculation => "Float Placement Speculation",
|
||||
ProfilerCategory::LayoutMain => "Primary Layout Pass",
|
||||
ProfilerCategory::LayoutStoreOverflow => "Store Overflow",
|
||||
ProfilerCategory::LayoutParallelWarmup => "Parallel Warmup",
|
||||
ProfilerCategory::LayoutDispListBuild => "Display List Construction",
|
||||
ProfilerCategory::ImageSaving => "Image Saving",
|
||||
ProfilerCategory::ScriptAttachLayout => "Script Attach Layout",
|
||||
ProfilerCategory::ScriptConstellationMsg => "Script Constellation Msg",
|
||||
ProfilerCategory::ScriptDevtoolsMsg => "Script Devtools Msg",
|
||||
ProfilerCategory::ScriptDocumentEvent => "Script Document Event",
|
||||
ProfilerCategory::ScriptEvaluate => "Script JS Evaluate",
|
||||
ProfilerCategory::ScriptFileRead => "Script File Read",
|
||||
ProfilerCategory::ScriptFontLoading => "Script Font Loading",
|
||||
ProfilerCategory::ScriptHistoryEvent => "Script History Event",
|
||||
ProfilerCategory::ScriptImageCacheMsg => "Script Image Cache Msg",
|
||||
ProfilerCategory::ScriptInputEvent => "Script Input Event",
|
||||
ProfilerCategory::ScriptNetworkEvent => "Script Network Event",
|
||||
ProfilerCategory::ScriptParseHTML => "Script Parse HTML",
|
||||
ProfilerCategory::ScriptParseXML => "Script Parse XML",
|
||||
ProfilerCategory::ScriptPlannedNavigation => "Script Planned Navigation",
|
||||
ProfilerCategory::ScriptPortMessage => "Script Port Message",
|
||||
ProfilerCategory::ScriptRendering => "Script Rendering",
|
||||
ProfilerCategory::ScriptResize => "Script Resize",
|
||||
ProfilerCategory::ScriptEvent => "Script Event",
|
||||
ProfilerCategory::ScriptUpdateReplacedElement => "Script Update Replaced Element",
|
||||
ProfilerCategory::ScriptSetScrollState => "Script Set Scroll State",
|
||||
ProfilerCategory::ScriptSetViewport => "Script Set Viewport",
|
||||
ProfilerCategory::ScriptTimerEvent => "Script Timer Event",
|
||||
ProfilerCategory::ScriptStylesheetLoad => "Script Stylesheet Load",
|
||||
ProfilerCategory::ScriptWebSocketEvent => "Script Web Socket Event",
|
||||
ProfilerCategory::ScriptWorkerEvent => "Script Worker Event",
|
||||
ProfilerCategory::ScriptServiceWorkerEvent => "Script Service Worker Event",
|
||||
ProfilerCategory::ScriptEnterFullscreen => "Script Enter Fullscreen",
|
||||
ProfilerCategory::ScriptExitFullscreen => "Script Exit Fullscreen",
|
||||
ProfilerCategory::ScriptWorkletEvent => "Script Worklet Event",
|
||||
ProfilerCategory::ScriptPerformanceEvent => "Script Performance Event",
|
||||
ProfilerCategory::ScriptWebGPUMsg => "Script WebGPU Message",
|
||||
ProfilerCategory::TimeToFirstPaint => "Time To First Paint",
|
||||
ProfilerCategory::TimeToFirstContentfulPaint => "Time To First Contentful Paint",
|
||||
ProfilerCategory::TimeToInteractive => "Time to Interactive",
|
||||
ProfilerCategory::IpcReceiver => "Blocked at IPC Receive",
|
||||
ProfilerCategory::IpcBytesReceiver => "Blocked at IPC Bytes Receive",
|
||||
};
|
||||
format!("{}{}", padding, name)
|
||||
let name: &'static str = self.into();
|
||||
format!("{padding}{name}")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue