summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/css-typed-om.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/css-typed-om.idl')
-rw-r--r--testing/web-platform/tests/interfaces/css-typed-om.idl428
1 files changed, 428 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/css-typed-om.idl b/testing/web-platform/tests/interfaces/css-typed-om.idl
new file mode 100644
index 0000000000..b0f26ea83c
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/css-typed-om.idl
@@ -0,0 +1,428 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: CSS Typed OM Level 1 (https://drafts.css-houdini.org/css-typed-om-1/)
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSStyleValue {
+ stringifier;
+ [Exposed=Window] static CSSStyleValue parse(USVString property, USVString cssText);
+ [Exposed=Window] static sequence<CSSStyleValue> parseAll(USVString property, USVString cssText);
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface StylePropertyMapReadOnly {
+ iterable<USVString, sequence<CSSStyleValue>>;
+ (undefined or CSSStyleValue) get(USVString property);
+ sequence<CSSStyleValue> getAll(USVString property);
+ boolean has(USVString property);
+ readonly attribute unsigned long size;
+};
+
+[Exposed=Window]
+interface StylePropertyMap : StylePropertyMapReadOnly {
+ undefined set(USVString property, (CSSStyleValue or USVString)... values);
+ undefined append(USVString property, (CSSStyleValue or USVString)... values);
+ undefined delete(USVString property);
+ undefined clear();
+};
+
+partial interface Element {
+ [SameObject] StylePropertyMapReadOnly computedStyleMap();
+};
+
+partial interface CSSStyleRule {
+ [SameObject] readonly attribute StylePropertyMap styleMap;
+};
+
+partial interface mixin ElementCSSInlineStyle {
+ [SameObject] readonly attribute StylePropertyMap attributeStyleMap;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSUnparsedValue : CSSStyleValue {
+ constructor(sequence<CSSUnparsedSegment> members);
+ iterable<CSSUnparsedSegment>;
+ readonly attribute unsigned long length;
+ getter CSSUnparsedSegment (unsigned long index);
+ setter CSSUnparsedSegment (unsigned long index, CSSUnparsedSegment val);
+};
+
+typedef (USVString or CSSVariableReferenceValue) CSSUnparsedSegment;
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSVariableReferenceValue {
+ constructor(USVString variable, optional CSSUnparsedValue? fallback = null);
+ attribute USVString variable;
+ readonly attribute CSSUnparsedValue? fallback;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSKeywordValue : CSSStyleValue {
+ constructor(USVString value);
+ attribute USVString value;
+};
+
+typedef (DOMString or CSSKeywordValue) CSSKeywordish;
+
+typedef (double or CSSNumericValue) CSSNumberish;
+
+enum CSSNumericBaseType {
+ "length",
+ "angle",
+ "time",
+ "frequency",
+ "resolution",
+ "flex",
+ "percent",
+};
+
+dictionary CSSNumericType {
+ long length;
+ long angle;
+ long time;
+ long frequency;
+ long resolution;
+ long flex;
+ long percent;
+ CSSNumericBaseType percentHint;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSNumericValue : CSSStyleValue {
+ CSSNumericValue add(CSSNumberish... values);
+ CSSNumericValue sub(CSSNumberish... values);
+ CSSNumericValue mul(CSSNumberish... values);
+ CSSNumericValue div(CSSNumberish... values);
+ CSSNumericValue min(CSSNumberish... values);
+ CSSNumericValue max(CSSNumberish... values);
+
+ boolean equals(CSSNumberish... value);
+
+ CSSUnitValue to(USVString unit);
+ CSSMathSum toSum(USVString... units);
+ CSSNumericType type();
+
+ [Exposed=Window] static CSSNumericValue parse(USVString cssText);
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSUnitValue : CSSNumericValue {
+ constructor(double value, USVString unit);
+ attribute double value;
+ readonly attribute USVString unit;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathValue : CSSNumericValue {
+ readonly attribute CSSMathOperator operator;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathSum : CSSMathValue {
+ constructor(CSSNumberish... args);
+ readonly attribute CSSNumericArray values;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathProduct : CSSMathValue {
+ constructor(CSSNumberish... args);
+ readonly attribute CSSNumericArray values;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathNegate : CSSMathValue {
+ constructor(CSSNumberish arg);
+ readonly attribute CSSNumericValue value;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathInvert : CSSMathValue {
+ constructor(CSSNumberish arg);
+ readonly attribute CSSNumericValue value;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathMin : CSSMathValue {
+ constructor(CSSNumberish... args);
+ readonly attribute CSSNumericArray values;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathMax : CSSMathValue {
+ constructor(CSSNumberish... args);
+ readonly attribute CSSNumericArray values;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMathClamp : CSSMathValue {
+ constructor(CSSNumberish lower, CSSNumberish value, CSSNumberish upper);
+ readonly attribute CSSNumericValue lower;
+ readonly attribute CSSNumericValue value;
+ readonly attribute CSSNumericValue upper;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSNumericArray {
+ iterable<CSSNumericValue>;
+ readonly attribute unsigned long length;
+ getter CSSNumericValue (unsigned long index);
+};
+
+enum CSSMathOperator {
+ "sum",
+ "product",
+ "negate",
+ "invert",
+ "min",
+ "max",
+ "clamp",
+};
+
+partial namespace CSS {
+ CSSUnitValue number(double value);
+ CSSUnitValue percent(double value);
+
+ // <length>
+ CSSUnitValue cap(double value);
+ CSSUnitValue ch(double value);
+ CSSUnitValue em(double value);
+ CSSUnitValue ex(double value);
+ CSSUnitValue ic(double value);
+ CSSUnitValue lh(double value);
+ CSSUnitValue rcap(double value);
+ CSSUnitValue rch(double value);
+ CSSUnitValue rem(double value);
+ CSSUnitValue rex(double value);
+ CSSUnitValue ric(double value);
+ CSSUnitValue rlh(double value);
+ CSSUnitValue vw(double value);
+ CSSUnitValue vh(double value);
+ CSSUnitValue vi(double value);
+ CSSUnitValue vb(double value);
+ CSSUnitValue vmin(double value);
+ CSSUnitValue vmax(double value);
+ CSSUnitValue svw(double value);
+ CSSUnitValue svh(double value);
+ CSSUnitValue svi(double value);
+ CSSUnitValue svb(double value);
+ CSSUnitValue svmin(double value);
+ CSSUnitValue svmax(double value);
+ CSSUnitValue lvw(double value);
+ CSSUnitValue lvh(double value);
+ CSSUnitValue lvi(double value);
+ CSSUnitValue lvb(double value);
+ CSSUnitValue lvmin(double value);
+ CSSUnitValue lvmax(double value);
+ CSSUnitValue dvw(double value);
+ CSSUnitValue dvh(double value);
+ CSSUnitValue dvi(double value);
+ CSSUnitValue dvb(double value);
+ CSSUnitValue dvmin(double value);
+ CSSUnitValue dvmax(double value);
+ CSSUnitValue cqw(double value);
+ CSSUnitValue cqh(double value);
+ CSSUnitValue cqi(double value);
+ CSSUnitValue cqb(double value);
+ CSSUnitValue cqmin(double value);
+ CSSUnitValue cqmax(double value);
+ CSSUnitValue cm(double value);
+ CSSUnitValue mm(double value);
+ CSSUnitValue Q(double value);
+ CSSUnitValue in(double value);
+ CSSUnitValue pt(double value);
+ CSSUnitValue pc(double value);
+ CSSUnitValue px(double value);
+
+ // <angle>
+ CSSUnitValue deg(double value);
+ CSSUnitValue grad(double value);
+ CSSUnitValue rad(double value);
+ CSSUnitValue turn(double value);
+
+ // <time>
+ CSSUnitValue s(double value);
+ CSSUnitValue ms(double value);
+
+ // <frequency>
+ CSSUnitValue Hz(double value);
+ CSSUnitValue kHz(double value);
+
+ // <resolution>
+ CSSUnitValue dpi(double value);
+ CSSUnitValue dpcm(double value);
+ CSSUnitValue dppx(double value);
+
+ // <flex>
+ CSSUnitValue fr(double value);
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSTransformValue : CSSStyleValue {
+ constructor(sequence<CSSTransformComponent> transforms);
+ iterable<CSSTransformComponent>;
+ readonly attribute unsigned long length;
+ getter CSSTransformComponent (unsigned long index);
+ setter CSSTransformComponent (unsigned long index, CSSTransformComponent val);
+
+ readonly attribute boolean is2D;
+ DOMMatrix toMatrix();
+};
+
+typedef (CSSNumericValue or CSSKeywordish) CSSPerspectiveValue;
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSTransformComponent {
+ stringifier;
+ attribute boolean is2D;
+ DOMMatrix toMatrix();
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSTranslate : CSSTransformComponent {
+ constructor(CSSNumericValue x, CSSNumericValue y, optional CSSNumericValue z);
+ attribute CSSNumericValue x;
+ attribute CSSNumericValue y;
+ attribute CSSNumericValue z;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSRotate : CSSTransformComponent {
+ constructor(CSSNumericValue angle);
+ constructor(CSSNumberish x, CSSNumberish y, CSSNumberish z, CSSNumericValue angle);
+ attribute CSSNumberish x;
+ attribute CSSNumberish y;
+ attribute CSSNumberish z;
+ attribute CSSNumericValue angle;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSScale : CSSTransformComponent {
+ constructor(CSSNumberish x, CSSNumberish y, optional CSSNumberish z);
+ attribute CSSNumberish x;
+ attribute CSSNumberish y;
+ attribute CSSNumberish z;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSSkew : CSSTransformComponent {
+ constructor(CSSNumericValue ax, CSSNumericValue ay);
+ attribute CSSNumericValue ax;
+ attribute CSSNumericValue ay;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSSkewX : CSSTransformComponent {
+ constructor(CSSNumericValue ax);
+ attribute CSSNumericValue ax;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSSkewY : CSSTransformComponent {
+ constructor(CSSNumericValue ay);
+ attribute CSSNumericValue ay;
+};
+
+/* Note that skew(x,y) is *not* the same as skewX(x) skewY(y),
+ thus the separate interfaces for all three. */
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSPerspective : CSSTransformComponent {
+ constructor(CSSPerspectiveValue length);
+ attribute CSSPerspectiveValue length;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSMatrixComponent : CSSTransformComponent {
+ constructor(DOMMatrixReadOnly matrix, optional CSSMatrixComponentOptions options = {});
+ attribute DOMMatrix matrix;
+};
+
+dictionary CSSMatrixComponentOptions {
+ boolean is2D;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSImageValue : CSSStyleValue {
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSColorValue : CSSStyleValue {
+ [Exposed=Window] static (CSSColorValue or CSSStyleValue) parse(USVString cssText);
+};
+
+typedef (CSSNumberish or CSSKeywordish) CSSColorRGBComp;
+typedef (CSSNumberish or CSSKeywordish) CSSColorPercent;
+typedef (CSSNumberish or CSSKeywordish) CSSColorNumber;
+typedef (CSSNumberish or CSSKeywordish) CSSColorAngle;
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSRGB : CSSColorValue {
+ constructor(CSSColorRGBComp r, CSSColorRGBComp g, CSSColorRGBComp b, optional CSSColorPercent alpha = 1);
+ attribute CSSColorRGBComp r;
+ attribute CSSColorRGBComp g;
+ attribute CSSColorRGBComp b;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSHSL : CSSColorValue {
+ constructor(CSSColorAngle h, CSSColorPercent s, CSSColorPercent l, optional CSSColorPercent alpha = 1);
+ attribute CSSColorAngle h;
+ attribute CSSColorPercent s;
+ attribute CSSColorPercent l;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSHWB : CSSColorValue {
+ constructor(CSSNumericValue h, CSSNumberish w, CSSNumberish b, optional CSSNumberish alpha = 1);
+ attribute CSSNumericValue h;
+ attribute CSSNumberish w;
+ attribute CSSNumberish b;
+ attribute CSSNumberish alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSLab : CSSColorValue {
+ constructor(CSSColorPercent l, CSSColorNumber a, CSSColorNumber b, optional CSSColorPercent alpha = 1);
+ attribute CSSColorPercent l;
+ attribute CSSColorNumber a;
+ attribute CSSColorNumber b;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSLCH : CSSColorValue {
+ constructor(CSSColorPercent l, CSSColorPercent c, CSSColorAngle h, optional CSSColorPercent alpha = 1);
+ attribute CSSColorPercent l;
+ attribute CSSColorPercent c;
+ attribute CSSColorAngle h;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSOKLab : CSSColorValue {
+ constructor(CSSColorPercent l, CSSColorNumber a, CSSColorNumber b, optional CSSColorPercent alpha = 1);
+ attribute CSSColorPercent l;
+ attribute CSSColorNumber a;
+ attribute CSSColorNumber b;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSOKLCH : CSSColorValue {
+ constructor(CSSColorPercent l, CSSColorPercent c, CSSColorAngle h, optional CSSColorPercent alpha = 1);
+ attribute CSSColorPercent l;
+ attribute CSSColorPercent c;
+ attribute CSSColorAngle h;
+ attribute CSSColorPercent alpha;
+};
+
+[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
+interface CSSColor : CSSColorValue {
+ constructor(CSSKeywordish colorSpace, sequence<CSSColorPercent> channels, optional CSSNumberish alpha = 1);
+ attribute CSSKeywordish colorSpace;
+ attribute ObservableArray<CSSColorPercent> channels;
+ attribute CSSNumberish alpha;
+};