CSS.webidl (7107B)
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 4 * You can obtain one at http://mozilla.org/MPL/2.0/. 5 * 6 * The origin of this IDL file is 7 * http://dev.w3.org/csswg/css3-conditional/ 8 * http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method 9 * https://www.w3.org/TR/css-highlight-api-1/#registration 10 * 11 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C 12 * liability, trademark and document use rules apply. 13 */ 14 15 [Exposed=Window] 16 namespace CSS { 17 boolean supports(UTF8String property, UTF8String value); 18 boolean supports(UTF8String conditionText); 19 }; 20 21 // http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method 22 partial namespace CSS { 23 DOMString escape(DOMString ident); 24 }; 25 26 // https://www.w3.org/TR/css-highlight-api-1/#registration 27 partial namespace CSS { 28 [Pref="dom.customHighlightAPI.enabled", GetterThrows] 29 readonly attribute HighlightRegistry highlights; 30 }; 31 32 // https://drafts.css-houdini.org/css-properties-values-api-1/#registering-custom-properties 33 // See https://github.com/w3c/css-houdini-drafts/pull/1100 for DOMString vs. UTF8String 34 dictionary PropertyDefinition { 35 required UTF8String name; 36 UTF8String syntax = "*"; 37 required boolean inherits; 38 UTF8String initialValue; 39 }; 40 partial namespace CSS { 41 [Pref="layout.css.properties-and-values.enabled", Throws] 42 undefined registerProperty(PropertyDefinition definition); 43 }; 44 45 // https://drafts.css-houdini.org/css-typed-om-1/#numeric-factory 46 // TODO: Ideally, only a single Pref annotation would be needed here, but 47 // partial namespaces can't currently be gated by a pref as a whole. 48 // See bug 1980157. 49 partial namespace CSS { 50 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue number(double value); 51 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue percent(double value); 52 53 // <length> 54 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cap(double value); 55 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ch(double value); 56 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue em(double value); 57 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ex(double value); 58 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ic(double value); 59 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lh(double value); 60 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rcap(double value); 61 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rch(double value); 62 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rem(double value); 63 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rex(double value); 64 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ric(double value); 65 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rlh(double value); 66 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vw(double value); 67 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vh(double value); 68 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vi(double value); 69 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vb(double value); 70 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vmin(double value); 71 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue vmax(double value); 72 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svw(double value); 73 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svh(double value); 74 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svi(double value); 75 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svb(double value); 76 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svmin(double value); 77 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue svmax(double value); 78 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvw(double value); 79 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvh(double value); 80 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvi(double value); 81 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvb(double value); 82 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvmin(double value); 83 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue lvmax(double value); 84 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvw(double value); 85 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvh(double value); 86 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvi(double value); 87 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvb(double value); 88 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvmin(double value); 89 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dvmax(double value); 90 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqw(double value); 91 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqh(double value); 92 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqi(double value); 93 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqb(double value); 94 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqmin(double value); 95 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cqmax(double value); 96 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue cm(double value); 97 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue mm(double value); 98 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue Q(double value); 99 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue in(double value); 100 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue pt(double value); 101 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue pc(double value); 102 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue px(double value); 103 104 // <angle> 105 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue deg(double value); 106 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue grad(double value); 107 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue rad(double value); 108 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue turn(double value); 109 110 // <time> 111 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue s(double value); 112 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue ms(double value); 113 114 // <frequency> 115 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue Hz(double value); 116 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue kHz(double value); 117 118 // <resolution> 119 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dpi(double value); 120 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dpcm(double value); 121 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue dppx(double value); 122 123 // <flex> 124 [NewObject, Pref="layout.css.typed-om.enabled"] CSSUnitValue fr(double value); 125 };