File: CSS.webidl

package info (click to toggle)
firefox 143.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,617,328 kB
  • sloc: cpp: 7,478,492; javascript: 6,417,157; ansic: 3,720,058; python: 1,396,372; xml: 627,523; asm: 438,677; java: 186,156; sh: 63,477; makefile: 19,171; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,405; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (125 lines) | stat: -rw-r--r-- 7,107 bytes parent folder | download | duplicates (4)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * The origin of this IDL file is
 * http://dev.w3.org/csswg/css3-conditional/
 * http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
 * https://www.w3.org/TR/css-highlight-api-1/#registration
 *
 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
 * liability, trademark and document use rules apply.
 */

[Exposed=Window]
namespace CSS {
  boolean supports(UTF8String property, UTF8String value);
  boolean supports(UTF8String conditionText);
};

// http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
partial namespace CSS {
  DOMString escape(DOMString ident);
};

// https://www.w3.org/TR/css-highlight-api-1/#registration
partial namespace CSS {
  [Pref="dom.customHighlightAPI.enabled", GetterThrows]
  readonly attribute HighlightRegistry highlights;
};

// https://drafts.css-houdini.org/css-properties-values-api-1/#registering-custom-properties
// See https://github.com/w3c/css-houdini-drafts/pull/1100 for DOMString vs. UTF8String
dictionary PropertyDefinition {
  required UTF8String name;
           UTF8String syntax       = "*";
  required boolean    inherits;
           UTF8String initialValue;
};
partial namespace CSS {
  [Pref="layout.css.properties-and-values.enabled", Throws]
  undefined registerProperty(PropertyDefinition definition);
};

// https://drafts.css-houdini.org/css-typed-om-1/#numeric-factory
// TODO: Ideally, only a single Pref annotation would be needed here, but
// partial namespaces can't currently be gated by a pref as a whole.
// See bug 1980157.
partial namespace CSS {
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue number(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue percent(double value);

  // <length>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cap(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ch(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue em(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ex(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ic(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rcap(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rch(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rem(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rex(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ric(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rlh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vw(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vb(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vmin(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vmax(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svw(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svb(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svmin(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svmax(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvw(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvb(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvmin(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvmax(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvw(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvb(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvmin(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvmax(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqw(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqh(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqb(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqmin(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqmax(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cm(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue mm(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue Q(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue in(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue pt(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue pc(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue px(double value);

  // <angle>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue deg(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue grad(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rad(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue turn(double value);

  // <time>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue s(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ms(double value);

  // <frequency>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue Hz(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue kHz(double value);

  // <resolution>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dpi(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dpcm(double value);
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dppx(double value);

  // <flex>
  [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue fr(double value);
};