mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Move PendingRestyle to the style_layout_interface crate
This commit is contained in:
parent
04af32128c
commit
df0118dd10
6 changed files with 34 additions and 30 deletions
|
@ -39,7 +39,6 @@ use msg::constellation_msg::{BrowsingContextId, PipelineId};
|
|||
use net_traits::image::base::{Image, ImageMetadata};
|
||||
use range::Range;
|
||||
use script::layout_exports::NodeFlags;
|
||||
use script::layout_exports::PendingRestyle;
|
||||
use script::layout_exports::ShadowRoot;
|
||||
use script::layout_exports::{
|
||||
CharacterDataTypeId, DocumentFragmentTypeId, ElementTypeId, HTMLElementTypeId, NodeTypeId,
|
||||
|
@ -51,6 +50,7 @@ use script::layout_exports::{
|
|||
LayoutDom, LayoutElementHelpers, LayoutNodeHelpers, LayoutShadowRootHelpers,
|
||||
RawLayoutElementHelpers,
|
||||
};
|
||||
use script_layout_interface::message::PendingRestyle;
|
||||
use script_layout_interface::wrapper_traits::{
|
||||
DangerousThreadSafeLayoutNode, GetLayoutData, LayoutNode,
|
||||
};
|
||||
|
|
|
@ -39,7 +39,6 @@ use msg::constellation_msg::{BrowsingContextId, PipelineId};
|
|||
use net_traits::image::base::{Image, ImageMetadata};
|
||||
use range::Range;
|
||||
use script::layout_exports::NodeFlags;
|
||||
use script::layout_exports::PendingRestyle;
|
||||
use script::layout_exports::ShadowRoot;
|
||||
use script::layout_exports::{
|
||||
CharacterDataTypeId, DocumentFragmentTypeId, ElementTypeId, HTMLElementTypeId, NodeTypeId,
|
||||
|
@ -51,6 +50,7 @@ use script::layout_exports::{
|
|||
LayoutDom, LayoutElementHelpers, LayoutNodeHelpers, LayoutShadowRootHelpers,
|
||||
RawLayoutElementHelpers,
|
||||
};
|
||||
use script_layout_interface::message::PendingRestyle;
|
||||
use script_layout_interface::wrapper_traits::{
|
||||
DangerousThreadSafeLayoutNode, GetLayoutData, LayoutNode,
|
||||
};
|
||||
|
|
|
@ -36,7 +36,6 @@ use crate::dom::bindings::reflector::{DomObject, Reflector};
|
|||
use crate::dom::bindings::root::{Dom, DomRoot};
|
||||
use crate::dom::bindings::str::{DOMString, USVString};
|
||||
use crate::dom::bindings::utils::WindowProxyHandler;
|
||||
use crate::dom::document::PendingRestyle;
|
||||
use crate::dom::gpubuffer::GPUBufferState;
|
||||
use crate::dom::htmlimageelement::SourceSet;
|
||||
use crate::dom::htmlmediaelement::{HTMLMediaElementFetchContext, MediaFrameRenderer};
|
||||
|
@ -96,6 +95,7 @@ use net_traits::storage_thread::StorageType;
|
|||
use net_traits::{Metadata, NetworkError, ReferrerPolicy, ResourceFetchTiming, ResourceThreads};
|
||||
use profile_traits::mem::ProfilerChan as MemProfilerChan;
|
||||
use profile_traits::time::ProfilerChan as TimeProfilerChan;
|
||||
use script_layout_interface::message::PendingRestyle;
|
||||
use script_layout_interface::rpc::LayoutRPC;
|
||||
use script_layout_interface::OpaqueStyleAndLayoutData;
|
||||
use script_traits::serializable::BlobImpl;
|
||||
|
|
|
@ -133,7 +133,7 @@ use percent_encoding::percent_decode;
|
|||
use profile_traits::ipc as profile_ipc;
|
||||
use profile_traits::time::{TimerMetadata, TimerMetadataFrameType, TimerMetadataReflowType};
|
||||
use ref_slice::ref_slice;
|
||||
use script_layout_interface::message::{Msg, ReflowGoal};
|
||||
use script_layout_interface::message::{Msg, PendingRestyle, ReflowGoal};
|
||||
use script_traits::{AnimationState, DocumentActivity, MouseButton, MouseEventType};
|
||||
use script_traits::{
|
||||
MsDuration, ScriptMsg, TouchEventType, TouchId, UntrustedNodeAddress, WheelDelta,
|
||||
|
@ -157,7 +157,7 @@ use style::attr::AttrValue;
|
|||
use style::context::QuirksMode;
|
||||
use style::invalidation::element::restyle_hints::RestyleHint;
|
||||
use style::media_queries::{Device, MediaType};
|
||||
use style::selector_parser::{RestyleDamage, Snapshot};
|
||||
use style::selector_parser::Snapshot;
|
||||
use style::shared_lock::SharedRwLock as StyleSharedRwLock;
|
||||
use style::str::{split_html_space_chars, str_join};
|
||||
use style::stylesheet_set::DocumentStylesheetSet;
|
||||
|
@ -201,29 +201,6 @@ pub enum IsHTMLDocument {
|
|||
NonHTMLDocument,
|
||||
}
|
||||
|
||||
#[derive(Debug, MallocSizeOf)]
|
||||
pub struct PendingRestyle {
|
||||
/// If this element had a state or attribute change since the last restyle, track
|
||||
/// the original condition of the element.
|
||||
pub snapshot: Option<Snapshot>,
|
||||
|
||||
/// Any explicit restyles hints that have been accumulated for this element.
|
||||
pub hint: RestyleHint,
|
||||
|
||||
/// Any explicit restyles damage that have been accumulated for this element.
|
||||
pub damage: RestyleDamage,
|
||||
}
|
||||
|
||||
impl PendingRestyle {
|
||||
pub fn new() -> Self {
|
||||
PendingRestyle {
|
||||
snapshot: None,
|
||||
hint: RestyleHint::empty(),
|
||||
damage: RestyleDamage::empty(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <https://dom.spec.whatwg.org/#document>
|
||||
#[dom_struct]
|
||||
pub struct Document {
|
||||
|
|
|
@ -130,7 +130,7 @@ pub mod layout_exports {
|
|||
pub use crate::dom::bindings::inheritance::{HTMLElementTypeId, NodeTypeId, TextTypeId};
|
||||
pub use crate::dom::bindings::root::LayoutDom;
|
||||
pub use crate::dom::characterdata::LayoutCharacterDataHelpers;
|
||||
pub use crate::dom::document::{Document, LayoutDocumentHelpers, PendingRestyle};
|
||||
pub use crate::dom::document::{Document, LayoutDocumentHelpers};
|
||||
pub use crate::dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers};
|
||||
pub use crate::dom::node::NodeFlags;
|
||||
pub use crate::dom::node::{LayoutNodeHelpers, Node};
|
||||
|
|
|
@ -23,8 +23,9 @@ use std::sync::atomic::AtomicBool;
|
|||
use std::sync::Arc;
|
||||
use style::context::QuirksMode;
|
||||
use style::dom::OpaqueNode;
|
||||
use style::invalidation::element::restyle_hints::RestyleHint;
|
||||
use style::properties::PropertyId;
|
||||
use style::selector_parser::PseudoElement;
|
||||
use style::selector_parser::{PseudoElement, RestyleDamage, Snapshot};
|
||||
use style::stylesheets::Stylesheet;
|
||||
|
||||
/// Asynchronous messages that script can send to layout.
|
||||
|
@ -234,3 +235,29 @@ pub struct LayoutThreadInit {
|
|||
pub layout_is_busy: Arc<AtomicBool>,
|
||||
pub window_size: WindowSizeData,
|
||||
}
|
||||
|
||||
/// A pending restyle.
|
||||
#[derive(Debug, MallocSizeOf)]
|
||||
pub struct PendingRestyle {
|
||||
/// If this element had a state or attribute change since the last restyle, track
|
||||
/// the original condition of the element.
|
||||
pub snapshot: Option<Snapshot>,
|
||||
|
||||
/// Any explicit restyles hints that have been accumulated for this element.
|
||||
pub hint: RestyleHint,
|
||||
|
||||
/// Any explicit restyles damage that have been accumulated for this element.
|
||||
pub damage: RestyleDamage,
|
||||
}
|
||||
|
||||
impl PendingRestyle {
|
||||
/// Creates a new empty pending restyle.
|
||||
#[inline]
|
||||
pub fn new() -> Self {
|
||||
PendingRestyle {
|
||||
snapshot: None,
|
||||
hint: RestyleHint::empty(),
|
||||
damage: RestyleDamage::empty(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue