mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Cheat the system and use an Arc in BoxSlot
Ideally we want to be able to borrow from the DOM during box construction but that's not playing very well at the moment with the current bridge between script and layout.
This commit is contained in:
parent
745857066c
commit
c08cfbb5f3
3 changed files with 46 additions and 39 deletions
|
@ -4,18 +4,19 @@
|
|||
|
||||
use crate::flow::inline::InlineLevelBox;
|
||||
use crate::flow::BlockLevelBox;
|
||||
use atomic_refcell::AtomicRefCell;
|
||||
use servo_arc::Arc;
|
||||
|
||||
#[derive(Default)]
|
||||
pub(crate) struct LayoutDataForElement {
|
||||
pub(super) self_box: Option<LayoutBox>,
|
||||
pub(super) self_box: Arc<AtomicRefCell<Option<LayoutBox>>>,
|
||||
pub(super) pseudo_elements: Option<Box<PseudoElementBoxes>>,
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub(super) struct PseudoElementBoxes {
|
||||
pub before: Option<LayoutBox>,
|
||||
pub after: Option<LayoutBox>,
|
||||
pub before: Arc<AtomicRefCell<Option<LayoutBox>>>,
|
||||
pub after: Arc<AtomicRefCell<Option<LayoutBox>>>,
|
||||
}
|
||||
|
||||
pub(super) enum LayoutBox {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue