use bitflags::bitflags;
use super::elevated_helper::ElevatedRecordingProps;
pub const CHROME_PROVIDER_GUID: &str = "d2d578d9-2936-45b6-a09f-30e32715f42d";
bitflags! {
#[derive(PartialEq, Eq)]
pub struct KeywordNames: u64 {
const benchmark = 0x1;
const blink = 0x2;
const browser = 0x4;
const cc = 0x8;
const evdev = 0x10;
const gpu = 0x20;
const input = 0x40;
const netlog = 0x80;
const sequence_manager = 0x100;
const toplevel = 0x200;
const v8 = 0x400;
const disabled_by_default_cc_debug = 0x800;
const disabled_by_default_cc_debug_picture = 0x1000;
const disabled_by_default_toplevel_flow = 0x2000;
const startup = 0x4000;
const latency = 0x8000;
const blink_user_timing = 0x10000;
const media = 0x20000;
const loading = 0x40000;
const base = 0x80000;
const devtools_timeline = 0x100000;
const unused_bit_21 = 0x200000;
const unused_bit_22 = 0x400000;
const unused_bit_23 = 0x800000;
const unused_bit_24 = 0x1000000;
const unused_bit_25 = 0x2000000;
const unused_bit_26 = 0x4000000;
const unused_bit_27 = 0x8000000;
const unused_bit_28 = 0x10000000;
const unused_bit_29 = 0x20000000;
const unused_bit_30 = 0x40000000;
const unused_bit_31 = 0x80000000;
const unused_bit_32 = 0x100000000;
const unused_bit_33 = 0x200000000;
const unused_bit_34 = 0x400000000;
const unused_bit_35 = 0x800000000;
const unused_bit_36 = 0x1000000000;
const unused_bit_37 = 0x2000000000;
const unused_bit_38 = 0x4000000000;
const unused_bit_39 = 0x8000000000;
const unused_bit_40 = 0x10000000000;
const unused_bit_41 = 0x20000000000;
const navigation = 0x40000000000;
const ServiceWorker = 0x80000000000;
const edge_webview = 0x100000000000;
const diagnostic_event = 0x200000000000;
const __OTHER_EVENTS = 0x400000000000;
const __DISABLED_OTHER_EVENTS = 0x800000000000;
}
}
pub fn chrome_xperf_args(props: &ElevatedRecordingProps) -> Vec<String> {
let mut providers = vec![];
if !props.browsers {
return providers;
}
providers.push("Microsoft-JScript:0x3".to_string());
let enabled_keywords = KeywordNames::blink_user_timing;
providers.push(format!(
"{}:{:#x}",
CHROME_PROVIDER_GUID,
enabled_keywords.bits()
));
providers
}