summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/compute-pressure.idl
blob: 2a11b84c45d5f14f6ec6f71961515f0b66783933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Compute Pressure Level 1 (https://w3c.github.io/compute-pressure/)

enum PressureState { "nominal", "fair", "serious", "critical" };

enum PressureFactor { "thermal", "power-supply" };

callback PressureUpdateCallback = undefined (
  sequence<PressureRecord> changes,
  PressureObserver observer
);

enum PressureSource { "cpu" };

[Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext]
interface PressureObserver {
  constructor(PressureUpdateCallback callback, optional PressureObserverOptions options = {});

  Promise<undefined> observe(PressureSource source);
  undefined unobserve(PressureSource source);
  undefined disconnect();
  sequence<PressureRecord> takeRecords();

  [SameObject] static readonly attribute FrozenArray<PressureSource> supportedSources;
};

[Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext]
interface PressureRecord {
  readonly attribute PressureSource source;
  readonly attribute PressureState state;
  readonly attribute FrozenArray<PressureFactor> factors;
  readonly attribute DOMHighResTimeStamp time;
};

dictionary PressureObserverOptions {
  double sampleRate = 1.0;
};