mirror of
https://github.com/servo/servo.git
synced 2025-07-22 14:53:49 +01:00
36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
/* 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/. */
|
|
|
|
/// A newtype struct for denoting the age of messages; prevents race conditions.
|
|
#[derive(PartialEq, Eq, Debug, Copy, Clone, PartialOrd, Ord, Deserialize, Serialize)]
|
|
pub struct Epoch(pub u32);
|
|
|
|
impl Epoch {
|
|
pub fn next(&mut self) {
|
|
let Epoch(ref mut u) = *self;
|
|
*u += 1;
|
|
}
|
|
}
|
|
|
|
#[derive(PartialEq, Eq, Debug, Copy, Clone)]
|
|
pub struct FrameTreeId(pub u32);
|
|
|
|
impl FrameTreeId {
|
|
pub fn next(&mut self) {
|
|
let FrameTreeId(ref mut u) = *self;
|
|
*u += 1;
|
|
}
|
|
}
|
|
|
|
#[derive(Clone, PartialEq, Eq, Copy, Hash, Deserialize, Serialize, HeapSizeOf)]
|
|
pub enum LayerType {
|
|
/// A layer for the fragment body itself.
|
|
FragmentBody,
|
|
/// An extra layer created for a DOM fragments with overflow:scroll.
|
|
OverflowScroll,
|
|
/// A layer created to contain ::before pseudo-element content.
|
|
BeforePseudoContent,
|
|
/// A layer created to contain ::after pseudo-element content.
|
|
AfterPseudoContent,
|
|
}
|