CSS.h (9954B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 /* DOM object holding utility CSS functions */ 8 9 #ifndef mozilla_dom_CSS_h_ 10 #define mozilla_dom_CSS_h_ 11 12 #include "mozilla/dom/CSSUnitValueBindingFwd.h" 13 #include "nsStringFwd.h" 14 15 template <class T> 16 struct already_AddRefed; 17 18 namespace mozilla { 19 20 class ErrorResult; 21 22 namespace dom { 23 24 class GlobalObject; 25 class HighlightRegistry; 26 struct PropertyDefinition; 27 28 class CSS { 29 public: 30 CSS() = delete; 31 32 static bool Supports(const GlobalObject&, const nsACString& aProperty, 33 const nsACString& aValue); 34 35 static bool Supports(const GlobalObject&, const nsACString& aDeclaration); 36 37 static void Escape(const GlobalObject&, const nsAString& aIdent, 38 nsAString& aReturn); 39 40 static HighlightRegistry* GetHighlights(const GlobalObject& aGlobal, 41 ErrorResult& aRv); 42 43 static void RegisterProperty(const GlobalObject&, const PropertyDefinition&, 44 ErrorResult&); 45 46 // start of CSS Typed OM Web IDL declarations 47 48 static already_AddRefed<CSSUnitValue> Number(const GlobalObject& aGlobal, 49 double aValue); 50 51 static already_AddRefed<CSSUnitValue> Percent(const GlobalObject& aGlobal, 52 double aValue); 53 54 // <length> 55 static already_AddRefed<CSSUnitValue> Cap(const GlobalObject& aGlobal, 56 double aValue); 57 static already_AddRefed<CSSUnitValue> Ch(const GlobalObject& aGlobal, 58 double aValue); 59 static already_AddRefed<CSSUnitValue> Em(const GlobalObject& aGlobal, 60 double aValue); 61 static already_AddRefed<CSSUnitValue> Ex(const GlobalObject& aGlobal, 62 double aValue); 63 static already_AddRefed<CSSUnitValue> Ic(const GlobalObject& aGlobal, 64 double aValue); 65 static already_AddRefed<CSSUnitValue> Lh(const GlobalObject& aGlobal, 66 double aValue); 67 static already_AddRefed<CSSUnitValue> Rcap(const GlobalObject& aGlobal, 68 double aValue); 69 static already_AddRefed<CSSUnitValue> Rch(const GlobalObject& aGlobal, 70 double aValue); 71 static already_AddRefed<CSSUnitValue> Rem(const GlobalObject& aGlobal, 72 double aValue); 73 static already_AddRefed<CSSUnitValue> Rex(const GlobalObject& aGlobal, 74 double aValue); 75 static already_AddRefed<CSSUnitValue> Ric(const GlobalObject& aGlobal, 76 double aValue); 77 static already_AddRefed<CSSUnitValue> Rlh(const GlobalObject& aGlobal, 78 double aValue); 79 static already_AddRefed<CSSUnitValue> Vw(const GlobalObject& aGlobal, 80 double aValue); 81 static already_AddRefed<CSSUnitValue> Vh(const GlobalObject& aGlobal, 82 double aValue); 83 static already_AddRefed<CSSUnitValue> Vi(const GlobalObject& aGlobal, 84 double aValue); 85 static already_AddRefed<CSSUnitValue> Vb(const GlobalObject& aGlobal, 86 double aValue); 87 static already_AddRefed<CSSUnitValue> Vmin(const GlobalObject& aGlobal, 88 double aValue); 89 static already_AddRefed<CSSUnitValue> Vmax(const GlobalObject& aGlobal, 90 double aValue); 91 static already_AddRefed<CSSUnitValue> Svw(const GlobalObject& aGlobal, 92 double aValue); 93 static already_AddRefed<CSSUnitValue> Svh(const GlobalObject& aGlobal, 94 double aValue); 95 static already_AddRefed<CSSUnitValue> Svi(const GlobalObject& aGlobal, 96 double aValue); 97 static already_AddRefed<CSSUnitValue> Svb(const GlobalObject& aGlobal, 98 double aValue); 99 static already_AddRefed<CSSUnitValue> Svmin(const GlobalObject& aGlobal, 100 double aValue); 101 static already_AddRefed<CSSUnitValue> Svmax(const GlobalObject& aGlobal, 102 double aValue); 103 static already_AddRefed<CSSUnitValue> Lvw(const GlobalObject& aGlobal, 104 double aValue); 105 static already_AddRefed<CSSUnitValue> Lvh(const GlobalObject& aGlobal, 106 double aValue); 107 static already_AddRefed<CSSUnitValue> Lvi(const GlobalObject& aGlobal, 108 double aValue); 109 static already_AddRefed<CSSUnitValue> Lvb(const GlobalObject& aGlobal, 110 double aValue); 111 static already_AddRefed<CSSUnitValue> Lvmin(const GlobalObject& aGlobal, 112 double aValue); 113 static already_AddRefed<CSSUnitValue> Lvmax(const GlobalObject& aGlobal, 114 double aValue); 115 static already_AddRefed<CSSUnitValue> Dvw(const GlobalObject& aGlobal, 116 double aValue); 117 static already_AddRefed<CSSUnitValue> Dvh(const GlobalObject& aGlobal, 118 double aValue); 119 static already_AddRefed<CSSUnitValue> Dvi(const GlobalObject& aGlobal, 120 double aValue); 121 static already_AddRefed<CSSUnitValue> Dvb(const GlobalObject& aGlobal, 122 double aValue); 123 static already_AddRefed<CSSUnitValue> Dvmin(const GlobalObject& aGlobal, 124 double aValue); 125 static already_AddRefed<CSSUnitValue> Dvmax(const GlobalObject& aGlobal, 126 double aValue); 127 static already_AddRefed<CSSUnitValue> Cqw(const GlobalObject& aGlobal, 128 double aValue); 129 static already_AddRefed<CSSUnitValue> Cqh(const GlobalObject& aGlobal, 130 double aValue); 131 static already_AddRefed<CSSUnitValue> Cqi(const GlobalObject& aGlobal, 132 double aValue); 133 static already_AddRefed<CSSUnitValue> Cqb(const GlobalObject& aGlobal, 134 double aValue); 135 static already_AddRefed<CSSUnitValue> Cqmin(const GlobalObject& aGlobal, 136 double aValue); 137 static already_AddRefed<CSSUnitValue> Cqmax(const GlobalObject& aGlobal, 138 double aValue); 139 static already_AddRefed<CSSUnitValue> Cm(const GlobalObject& aGlobal, 140 double aValue); 141 static already_AddRefed<CSSUnitValue> Mm(const GlobalObject& aGlobal, 142 double aValue); 143 static already_AddRefed<CSSUnitValue> Q(const GlobalObject& aGlobal, 144 double aValue); 145 static already_AddRefed<CSSUnitValue> In(const GlobalObject& aGlobal, 146 double aValue); 147 static already_AddRefed<CSSUnitValue> Pt(const GlobalObject& aGlobal, 148 double aValue); 149 static already_AddRefed<CSSUnitValue> Pc(const GlobalObject& aGlobal, 150 double aValue); 151 static already_AddRefed<CSSUnitValue> Px(const GlobalObject& aGlobal, 152 double aValue); 153 154 // <angle> 155 static already_AddRefed<CSSUnitValue> Deg(const GlobalObject& aGlobal, 156 double aValue); 157 static already_AddRefed<CSSUnitValue> Grad(const GlobalObject& aGlobal, 158 double aValue); 159 static already_AddRefed<CSSUnitValue> Rad(const GlobalObject& aGlobal, 160 double aValue); 161 static already_AddRefed<CSSUnitValue> Turn(const GlobalObject& aGlobal, 162 double aValue); 163 164 // <time> 165 static already_AddRefed<CSSUnitValue> S(const GlobalObject& aGlobal, 166 double aValue); 167 static already_AddRefed<CSSUnitValue> Ms(const GlobalObject& aGlobal, 168 double aValue); 169 170 // <frequency> 171 static already_AddRefed<CSSUnitValue> Hz(const GlobalObject& aGlobal, 172 double aValue); 173 static already_AddRefed<CSSUnitValue> KHz(const GlobalObject& aGlobal, 174 double aValue); 175 176 // <resolution> 177 static already_AddRefed<CSSUnitValue> Dpi(const GlobalObject& aGlobal, 178 double aValue); 179 static already_AddRefed<CSSUnitValue> Dpcm(const GlobalObject& aGlobal, 180 double aValue); 181 static already_AddRefed<CSSUnitValue> Dppx(const GlobalObject& aGlobal, 182 double aValue); 183 184 // <flex> 185 static already_AddRefed<CSSUnitValue> Fr(const GlobalObject& aGlobal, 186 double aValue); 187 188 // end of CSS Typed OM Web IDL declarations 189 }; 190 191 } // namespace dom 192 } // namespace mozilla 193 194 #endif // mozilla_dom_CSS_h_