source: webkit/trunk/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl

Last change on this file was 291867, checked in by [email protected], 3 years ago

Add css-typed-om color IDL skeletons
https://bugs.webkit.org/show_bug.cgi?id=238208

Patch by Alex Christensen <[email protected]> on 2022-03-25
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-typed-om/idlharness-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssColorValue-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssHSL-expected.txt:
  • web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRGB-expected.txt:

Source/WebCore:

This is an off-by-default experimental feature.
Covered by wpt tests.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • css/typedom/CSSKeywordValue.idl:
  • css/typedom/CSSNumericValue.h:
  • css/typedom/color/CSSColor.cpp: Added.

(WebCore::CSSColor::setColorSpace):
(WebCore::CSSColor::CSSColor):

  • css/typedom/color/CSSColor.h: Added.

(WebCore::CSSColor::create):
(WebCore::CSSColor::alpha const):
(WebCore::CSSColor::setAlpha):

  • css/typedom/color/CSSColor.idl:
  • css/typedom/color/CSSColorValue.h: Added.

(WebCore::CSSColorValue::colorSpace):
(WebCore::CSSColorValue::to):
(WebCore::CSSColorValue::parse):

  • css/typedom/color/CSSColorValue.idl:
  • css/typedom/color/CSSHSL.cpp: Added.

(WebCore::CSSHSL::CSSHSL):

  • css/typedom/color/CSSHSL.h: Added.

(WebCore::CSSHSL::create):
(WebCore::CSSHSL::h const):
(WebCore::CSSHSL::setH):
(WebCore::CSSHSL::s const):
(WebCore::CSSHSL::setS):
(WebCore::CSSHSL::l const):
(WebCore::CSSHSL::setL):
(WebCore::CSSHSL::alpha const):
(WebCore::CSSHSL::setAlpha):

  • css/typedom/color/CSSHSL.idl:
  • css/typedom/color/CSSHWB.cpp: Added.

(WebCore::CSSHWB::CSSHWB):

  • css/typedom/color/CSSHWB.h: Added.

(WebCore::CSSHWB::create):
(WebCore::CSSHWB::h const):
(WebCore::CSSHWB::setH):
(WebCore::CSSHWB::w const):
(WebCore::CSSHWB::setW):
(WebCore::CSSHWB::b const):
(WebCore::CSSHWB::setB):
(WebCore::CSSHWB::alpha const):
(WebCore::CSSHWB::setAlpha):

  • css/typedom/color/CSSHWB.idl:
  • css/typedom/color/CSSLCH.cpp: Added.

(WebCore::CSSLCH::CSSLCH):

  • css/typedom/color/CSSLCH.h: Added.

(WebCore::CSSLCH::create):
(WebCore::CSSLCH::l const):
(WebCore::CSSLCH::setL):
(WebCore::CSSLCH::c const):
(WebCore::CSSLCH::setC):
(WebCore::CSSLCH::h const):
(WebCore::CSSLCH::setH):
(WebCore::CSSLCH::alpha const):
(WebCore::CSSLCH::setAlpha):

  • css/typedom/color/CSSLCH.idl:
  • css/typedom/color/CSSLab.cpp: Added.

(WebCore::CSSLab::CSSLab):

  • css/typedom/color/CSSLab.h: Added.

(WebCore::CSSLab::create):
(WebCore::CSSLab::l const):
(WebCore::CSSLab::setL):
(WebCore::CSSLab::a const):
(WebCore::CSSLab::setA):
(WebCore::CSSLab::b const):
(WebCore::CSSLab::setB):
(WebCore::CSSLab::alpha const):
(WebCore::CSSLab::setAlpha):

  • css/typedom/color/CSSLab.idl:
  • css/typedom/color/CSSOKLCH.cpp: Added.

(WebCore::CSSOKLCH::CSSOKLCH):

  • css/typedom/color/CSSOKLCH.h: Added.

(WebCore::CSSOKLCH::create):
(WebCore::CSSOKLCH::l const):
(WebCore::CSSOKLCH::setL):
(WebCore::CSSOKLCH::c const):
(WebCore::CSSOKLCH::setC):
(WebCore::CSSOKLCH::h const):
(WebCore::CSSOKLCH::setH):
(WebCore::CSSOKLCH::alpha const):
(WebCore::CSSOKLCH::setAlpha):

  • css/typedom/color/CSSOKLCH.idl:
  • css/typedom/color/CSSOKLab.cpp: Added.

(WebCore::CSSOKLab::CSSOKLab):

  • css/typedom/color/CSSOKLab.h: Added.

(WebCore::CSSOKLab::create):
(WebCore::CSSOKLab::l const):
(WebCore::CSSOKLab::setL):
(WebCore::CSSOKLab::a const):
(WebCore::CSSOKLab::setA):
(WebCore::CSSOKLab::b const):
(WebCore::CSSOKLab::setB):
(WebCore::CSSOKLab::alpha const):
(WebCore::CSSOKLab::setAlpha):

  • css/typedom/color/CSSOKLab.idl:
  • css/typedom/color/CSSRGB.cpp: Added.

(WebCore::CSSRGB::CSSRGB):

  • css/typedom/color/CSSRGB.h: Added.

(WebCore::CSSRGB::create):
(WebCore::CSSRGB::r const):
(WebCore::CSSRGB::setR):
(WebCore::CSSRGB::g const):
(WebCore::CSSRGB::setG):
(WebCore::CSSRGB::b const):
(WebCore::CSSRGB::setB):
(WebCore::CSSRGB::alpha const):
(WebCore::CSSRGB::setAlpha):

  • css/typedom/color/CSSRGB.idl:
File size: 3.0 KB
Line 
1/*
2* Copyright (C) 2021 Apple Inc. All rights reserved.
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions
6* are met:
7* 1. Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* 2. Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12*
13* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24*/
25
26// https://www.w3.org/TR/css-typed-om-1/#numeric-factory
27[
28 EnabledBySetting=CSSTypedOMEnabled,
29 Conditional=CSS_TYPED_OM,
30 ImplementedBy=CSSNumericFactory
31] partial namespace DOMCSSNamespace {
32
33 CSSUnitValue number(double value);
34 CSSUnitValue percent(double value);
35
36 // <length>
37 CSSUnitValue em(double value);
38 CSSUnitValue ex(double value);
39 CSSUnitValue ch(double value);
40 CSSUnitValue ic(double value);
41 CSSUnitValue rem(double value);
42 CSSUnitValue lh(double value);
43 CSSUnitValue rlh(double value);
44 CSSUnitValue vw(double value);
45 CSSUnitValue vh(double value);
46 CSSUnitValue vi(double value);
47 CSSUnitValue vb(double value);
48 CSSUnitValue vmin(double value);
49 CSSUnitValue vmax(double value);
50 CSSUnitValue cm(double value);
51 CSSUnitValue mm(double value);
52 CSSUnitValue Q(double value);
53 CSSUnitValue in(double value);
54 CSSUnitValue pt(double value);
55 CSSUnitValue pc(double value);
56 CSSUnitValue px(double value);
57 CSSUnitValue cqw(double value);
58 CSSUnitValue cqh(double value);
59 CSSUnitValue cqi(double value);
60 CSSUnitValue cqb(double value);
61 CSSUnitValue cqmin(double value);
62 CSSUnitValue cqmax(double value);
63
64 // <angle>
65 CSSUnitValue deg(double value);
66 CSSUnitValue grad(double value);
67 CSSUnitValue rad(double value);
68 CSSUnitValue turn(double value);
69
70 // <time>
71 CSSUnitValue s(double value);
72 CSSUnitValue ms(double value);
73
74 // <frequency>
75 CSSUnitValue Hz(double value);
76 CSSUnitValue kHz(double value);
77
78 // <resolution>
79 CSSUnitValue dpi(double value);
80 CSSUnitValue dpcm(double value);
81 CSSUnitValue dppx(double value);
82
83 // <flex>
84 CSSUnitValue fr(double value);
85};
Note: See TracBrowser for help on using the repository browser.