/// Auto-generated interfaces from domain: performance
///
/// AUTO-GENERATED by: scripts/generate_browser_wit.py
/// DO NOT EDIT MANUALLY — changes will be overwritten.
///
/// Source: wit/generated/performance.wit
/// Regenerate with: just wit-gen
interface performance {
/// Opaque handle to a host-side `Performance` instance.
type performance-handle = u64;
/// `now()` operation.
now: func() -> f64;
/// `timeOrigin` attribute — getter.
get-time-origin: func() -> f64;
/// `toJSON()` operation.
to-json: func() -> u64;
/// `timing` attribute — getter.
get-timing: func() -> u64;
/// `navigation` attribute — getter.
get-navigation: func() -> u64;
/// `getEntries()` operation.
get-entries: func() -> u64;
/// `getEntriesByType()` operation.
get-entries-by-type: func(%type: string) -> u64;
/// `getEntriesByName()` operation.
get-entries-by-name: func(name: string, %type: option<string>) -> u64;
/// `clearResourceTimings()` operation.
clear-resource-timings: func();
/// `setResourceTimingBufferSize()` operation.
set-resource-timing-buffer-size: func(max-size: u32);
/// `onresourcetimingbufferfull` attribute — getter.
get-onresourcetimingbufferfull: func() -> u64;
/// `onresourcetimingbufferfull` attribute — setter.
set-onresourcetimingbufferfull: func(value: u64);
/// `mark()` operation.
mark: func(mark-name: string, mark-options: option<u64>) -> u64;
/// `clearMarks()` operation.
clear-marks: func(mark-name: option<string>);
/// `measure()` operation.
measure: func(measure-name: string, start-or-measure-options: option<string>, end-mark: option<string>) -> u64;
/// `clearMeasures()` operation.
clear-measures: func(measure-name: option<string>);
}
interface performance-navigation-timing {
/// Opaque handle to a host-side `PerformanceNavigationTiming` instance.
type performance-navigation-timing-handle = u64;
/// `unloadEventStart` attribute — getter.
get-unload-event-start: func(self: performance-navigation-timing-handle) -> f64;
/// `unloadEventEnd` attribute — getter.
get-unload-event-end: func(self: performance-navigation-timing-handle) -> f64;
/// `domInteractive` attribute — getter.
get-dom-interactive: func(self: performance-navigation-timing-handle) -> f64;
/// `domContentLoadedEventStart` attribute — getter.
get-dom-content-loaded-event-start: func(self: performance-navigation-timing-handle) -> f64;
/// `domContentLoadedEventEnd` attribute — getter.
get-dom-content-loaded-event-end: func(self: performance-navigation-timing-handle) -> f64;
/// `domComplete` attribute — getter.
get-dom-complete: func(self: performance-navigation-timing-handle) -> f64;
/// `loadEventStart` attribute — getter.
get-load-event-start: func(self: performance-navigation-timing-handle) -> f64;
/// `loadEventEnd` attribute — getter.
get-load-event-end: func(self: performance-navigation-timing-handle) -> f64;
/// `type` attribute — getter.
get-type: func(self: performance-navigation-timing-handle) -> u64;
/// `redirectCount` attribute — getter.
get-redirect-count: func(self: performance-navigation-timing-handle) -> u16;
/// `criticalCHRestart` attribute — getter.
get-critical-ch-restart: func(self: performance-navigation-timing-handle) -> f64;
/// `notRestoredReasons` attribute — getter.
get-not-restored-reasons: func(self: performance-navigation-timing-handle) -> option<u64>;
/// `confidence` attribute — getter.
get-confidence: func(self: performance-navigation-timing-handle) -> u64;
/// `toJSON()` operation.
to-json: func(self: performance-navigation-timing-handle) -> u64;
}
interface performance-timing-confidence {
/// Opaque handle to a host-side `PerformanceTimingConfidence` instance.
type performance-timing-confidence-handle = u64;
/// `randomizedTriggerRate` attribute — getter.
get-randomized-trigger-rate: func(self: performance-timing-confidence-handle) -> f64;
/// `value` attribute — getter.
get-value: func(self: performance-timing-confidence-handle) -> u64;
/// `toJSON()` operation.
to-json: func(self: performance-timing-confidence-handle) -> u64;
}
interface performance-timing {
/// Opaque handle to a host-side `PerformanceTiming` instance.
type performance-timing-handle = u64;
/// `navigationStart` attribute — getter.
get-navigation-start: func(self: performance-timing-handle) -> u64;
/// `unloadEventStart` attribute — getter.
get-unload-event-start: func(self: performance-timing-handle) -> u64;
/// `unloadEventEnd` attribute — getter.
get-unload-event-end: func(self: performance-timing-handle) -> u64;
/// `redirectStart` attribute — getter.
get-redirect-start: func(self: performance-timing-handle) -> u64;
/// `redirectEnd` attribute — getter.
get-redirect-end: func(self: performance-timing-handle) -> u64;
/// `fetchStart` attribute — getter.
get-fetch-start: func(self: performance-timing-handle) -> u64;
/// `domainLookupStart` attribute — getter.
get-domain-lookup-start: func(self: performance-timing-handle) -> u64;
/// `domainLookupEnd` attribute — getter.
get-domain-lookup-end: func(self: performance-timing-handle) -> u64;
/// `connectStart` attribute — getter.
get-connect-start: func(self: performance-timing-handle) -> u64;
/// `connectEnd` attribute — getter.
get-connect-end: func(self: performance-timing-handle) -> u64;
/// `secureConnectionStart` attribute — getter.
get-secure-connection-start: func(self: performance-timing-handle) -> u64;
/// `requestStart` attribute — getter.
get-request-start: func(self: performance-timing-handle) -> u64;
/// `responseStart` attribute — getter.
get-response-start: func(self: performance-timing-handle) -> u64;
/// `responseEnd` attribute — getter.
get-response-end: func(self: performance-timing-handle) -> u64;
/// `domLoading` attribute — getter.
get-dom-loading: func(self: performance-timing-handle) -> u64;
/// `domInteractive` attribute — getter.
get-dom-interactive: func(self: performance-timing-handle) -> u64;
/// `domContentLoadedEventStart` attribute — getter.
get-dom-content-loaded-event-start: func(self: performance-timing-handle) -> u64;
/// `domContentLoadedEventEnd` attribute — getter.
get-dom-content-loaded-event-end: func(self: performance-timing-handle) -> u64;
/// `domComplete` attribute — getter.
get-dom-complete: func(self: performance-timing-handle) -> u64;
/// `loadEventStart` attribute — getter.
get-load-event-start: func(self: performance-timing-handle) -> u64;
/// `loadEventEnd` attribute — getter.
get-load-event-end: func(self: performance-timing-handle) -> u64;
/// `toJSON()` operation.
to-json: func(self: performance-timing-handle) -> u64;
}
interface performance-navigation {
/// Opaque handle to a host-side `PerformanceNavigation` instance.
type performance-navigation-handle = u64;
/// `type` attribute — getter.
get-type: func(self: performance-navigation-handle) -> u16;
/// `redirectCount` attribute — getter.
get-redirect-count: func(self: performance-navigation-handle) -> u16;
/// `toJSON()` operation.
to-json: func(self: performance-navigation-handle) -> u64;
}
interface performance-entry {
/// Opaque handle to a host-side `PerformanceEntry` instance.
type performance-entry-handle = u64;
/// `id` attribute — getter.
get-id: func(self: performance-entry-handle) -> u64;
/// `name` attribute — getter.
get-name: func(self: performance-entry-handle) -> string;
/// `entryType` attribute — getter.
get-entry-type: func(self: performance-entry-handle) -> string;
/// `startTime` attribute — getter.
get-start-time: func(self: performance-entry-handle) -> f64;
/// `duration` attribute — getter.
get-duration: func(self: performance-entry-handle) -> f64;
/// `navigationId` attribute — getter.
get-navigation-id: func(self: performance-entry-handle) -> u64;
/// `toJSON()` operation.
to-json: func(self: performance-entry-handle) -> u64;
}
interface performance-observer {
/// Opaque handle to a host-side `PerformanceObserver` instance.
type performance-observer-handle = u64;
/// `observe()` operation.
observe: func(self: performance-observer-handle, options: option<u64>);
/// `disconnect()` operation.
disconnect: func(self: performance-observer-handle);
/// `takeRecords()` operation.
take-records: func(self: performance-observer-handle) -> u64;
/// `supportedEntryTypes` attribute — getter.
get-supported-entry-types: func() -> list<string>;
}
interface performance-observer-entry-list {
/// Opaque handle to a host-side `PerformanceObserverEntryList` instance.
type performance-observer-entry-list-handle = u64;
/// `getEntries()` operation.
get-entries: func(self: performance-observer-entry-list-handle) -> u64;
/// `getEntriesByType()` operation.
get-entries-by-type: func(self: performance-observer-entry-list-handle, %type: string) -> u64;
/// `getEntriesByName()` operation.
get-entries-by-name: func(self: performance-observer-entry-list-handle, name: string, %type: option<string>) -> u64;
}
interface performance-resource-timing {
/// Opaque handle to a host-side `PerformanceResourceTiming` instance.
type performance-resource-timing-handle = u64;
/// `initiatorType` attribute — getter.
get-initiator-type: func(self: performance-resource-timing-handle) -> string;
/// `deliveryType` attribute — getter.
get-delivery-type: func(self: performance-resource-timing-handle) -> string;
/// `nextHopProtocol` attribute — getter.
get-next-hop-protocol: func(self: performance-resource-timing-handle) -> string;
/// `workerStart` attribute — getter.
get-worker-start: func(self: performance-resource-timing-handle) -> f64;
/// `redirectStart` attribute — getter.
get-redirect-start: func(self: performance-resource-timing-handle) -> f64;
/// `redirectEnd` attribute — getter.
get-redirect-end: func(self: performance-resource-timing-handle) -> f64;
/// `fetchStart` attribute — getter.
get-fetch-start: func(self: performance-resource-timing-handle) -> f64;
/// `domainLookupStart` attribute — getter.
get-domain-lookup-start: func(self: performance-resource-timing-handle) -> f64;
/// `domainLookupEnd` attribute — getter.
get-domain-lookup-end: func(self: performance-resource-timing-handle) -> f64;
/// `connectStart` attribute — getter.
get-connect-start: func(self: performance-resource-timing-handle) -> f64;
/// `connectEnd` attribute — getter.
get-connect-end: func(self: performance-resource-timing-handle) -> f64;
/// `secureConnectionStart` attribute — getter.
get-secure-connection-start: func(self: performance-resource-timing-handle) -> f64;
/// `requestStart` attribute — getter.
get-request-start: func(self: performance-resource-timing-handle) -> f64;
/// `finalResponseHeadersStart` attribute — getter.
get-final-response-headers-start: func(self: performance-resource-timing-handle) -> f64;
/// `firstInterimResponseStart` attribute — getter.
get-first-interim-response-start: func(self: performance-resource-timing-handle) -> f64;
/// `responseStart` attribute — getter.
get-response-start: func(self: performance-resource-timing-handle) -> f64;
/// `responseEnd` attribute — getter.
get-response-end: func(self: performance-resource-timing-handle) -> f64;
/// `workerRouterEvaluationStart` attribute — getter.
get-worker-router-evaluation-start: func(self: performance-resource-timing-handle) -> f64;
/// `workerCacheLookupStart` attribute — getter.
get-worker-cache-lookup-start: func(self: performance-resource-timing-handle) -> f64;
/// `workerMatchedRouterSource` attribute — getter.
get-worker-matched-router-source: func(self: performance-resource-timing-handle) -> string;
/// `workerFinalRouterSource` attribute — getter.
get-worker-final-router-source: func(self: performance-resource-timing-handle) -> string;
/// `transferSize` attribute — getter.
get-transfer-size: func(self: performance-resource-timing-handle) -> u64;
/// `encodedBodySize` attribute — getter.
get-encoded-body-size: func(self: performance-resource-timing-handle) -> u64;
/// `decodedBodySize` attribute — getter.
get-decoded-body-size: func(self: performance-resource-timing-handle) -> u64;
/// `responseStatus` attribute — getter.
get-response-status: func(self: performance-resource-timing-handle) -> u16;
/// `renderBlockingStatus` attribute — getter.
get-render-blocking-status: func(self: performance-resource-timing-handle) -> u64;
/// `contentType` attribute — getter.
get-content-type: func(self: performance-resource-timing-handle) -> string;
/// `contentEncoding` attribute — getter.
get-content-encoding: func(self: performance-resource-timing-handle) -> string;
/// `toJSON()` operation.
to-json: func(self: performance-resource-timing-handle) -> u64;
}
interface performance-mark {
/// Opaque handle to a host-side `PerformanceMark` instance.
type performance-mark-handle = u64;
/// `detail` attribute — getter.
get-detail: func(self: performance-mark-handle) -> string;
}
interface performance-measure {
/// Opaque handle to a host-side `PerformanceMeasure` instance.
type performance-measure-handle = u64;
/// `detail` attribute — getter.
get-detail: func(self: performance-measure-handle) -> string;
}