aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/values/specified/table.rs
blob: 81f3414e8f61d7db480489a545b14090dc22a886 (plain) (blame)
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
/* 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 https://mozilla.org/MPL/2.0/. */

//! Specified types for CSS values related to tables.

/// Specified values for the `caption-side` property.
///
/// Note that despite having "physical" names, these are actually interpreted
/// according to the table's writing-mode: Top and Bottom are treated as
/// block-start and -end respectively, and Left and Right are treated as
/// line-start and -end.
///
/// https://drafts.csswg.org/css-tables/#propdef-caption-side
#[cfg(feature = "gecko")]
fn caption_side_non_standard_enabled(_: &crate::parser::ParserContext) -> bool {
    static_prefs::pref!("layout.css.caption-side-non-standard.enabled")
}

#[allow(missing_docs)]
#[derive(
    Clone,
    Copy,
    Debug,
    Eq,
    FromPrimitive,
    MallocSizeOf,
    Ord,
    Parse,
    PartialEq,
    PartialOrd,
    SpecifiedValueInfo,
    ToComputedValue,
    ToCss,
    ToResolvedValue,
    ToShmem,
)]
#[repr(u8)]
pub enum CaptionSide {
    Top,
    Bottom,
    #[cfg(feature = "gecko")]
    #[parse(condition = "caption_side_non_standard_enabled")]
    Right,
    #[cfg(feature = "gecko")]
    #[parse(condition = "caption_side_non_standard_enabled")]
    Left,
    #[cfg(feature = "gecko")]
    #[parse(condition = "caption_side_non_standard_enabled")]
    TopOutside,
    #[cfg(feature = "gecko")]
    #[parse(condition = "caption_side_non_standard_enabled")]
    BottomOutside,
}