mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Rename Layout*Trait to Layout*.
The next step will be to remote the Servo-specificity of the layout code we want to share by making it operate generically on Layout*.
This commit is contained in:
parent
9dd45b9f2a
commit
2f6e94943a
6 changed files with 17 additions and 17 deletions
|
@ -31,7 +31,7 @@ use util::arc_ptr_eq;
|
||||||
use util::cache::{LRUCache, SimpleHashCache};
|
use util::cache::{LRUCache, SimpleHashCache};
|
||||||
use util::opts;
|
use util::opts;
|
||||||
use util::vec::ForgetfulSink;
|
use util::vec::ForgetfulSink;
|
||||||
use wrapper::{ServoLayoutElement, LayoutElementTrait, ServoLayoutNode, LayoutNodeTrait};
|
use wrapper::{LayoutElement, LayoutNode, ServoLayoutElement, ServoLayoutNode};
|
||||||
|
|
||||||
pub struct ApplicableDeclarations {
|
pub struct ApplicableDeclarations {
|
||||||
pub normal: SmallVec<[DeclarationBlock; 16]>,
|
pub normal: SmallVec<[DeclarationBlock; 16]>,
|
||||||
|
|
|
@ -82,7 +82,7 @@ use util::opts;
|
||||||
use util::task::spawn_named_with_send_on_failure;
|
use util::task::spawn_named_with_send_on_failure;
|
||||||
use util::task_state;
|
use util::task_state;
|
||||||
use util::workqueue::WorkQueue;
|
use util::workqueue::WorkQueue;
|
||||||
use wrapper::{LayoutDocumentTrait, LayoutElementTrait, ServoLayoutNode, LayoutNodeTrait, ThreadSafeLayoutNode};
|
use wrapper::{LayoutDocument, LayoutElement, LayoutNode, ServoLayoutNode, ThreadSafeLayoutNode};
|
||||||
|
|
||||||
/// The number of screens of data we're allowed to generate display lists for in each direction.
|
/// The number of screens of data we're allowed to generate display lists for in each direction.
|
||||||
pub const DISPLAY_PORT_SIZE_FACTOR: i32 = 8;
|
pub const DISPLAY_PORT_SIZE_FACTOR: i32 = 8;
|
||||||
|
|
|
@ -23,7 +23,7 @@ use traversal::{PostorderDomTraversal, PreorderDomTraversal};
|
||||||
use util::opts;
|
use util::opts;
|
||||||
use util::workqueue::{WorkQueue, WorkUnit, WorkerProxy};
|
use util::workqueue::{WorkQueue, WorkUnit, WorkerProxy};
|
||||||
use wrapper::UnsafeLayoutNode;
|
use wrapper::UnsafeLayoutNode;
|
||||||
use wrapper::{ServoLayoutNode, LayoutNodeTrait, layout_node_from_unsafe_layout_node, layout_node_to_unsafe_layout_node};
|
use wrapper::{LayoutNode, ServoLayoutNode, layout_node_from_unsafe_layout_node, layout_node_to_unsafe_layout_node};
|
||||||
|
|
||||||
const CHUNK_SIZE: usize = 64;
|
const CHUNK_SIZE: usize = 64;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ use traversal::{BuildDisplayList, ComputeAbsolutePositions};
|
||||||
use traversal::{PostorderDomTraversal, PreorderDomTraversal};
|
use traversal::{PostorderDomTraversal, PreorderDomTraversal};
|
||||||
use util::geometry::ZERO_POINT;
|
use util::geometry::ZERO_POINT;
|
||||||
use util::opts;
|
use util::opts;
|
||||||
use wrapper::{ServoLayoutNode, LayoutNodeTrait};
|
use wrapper::{LayoutNode, ServoLayoutNode};
|
||||||
|
|
||||||
pub fn traverse_dom_preorder(root: ServoLayoutNode,
|
pub fn traverse_dom_preorder(root: ServoLayoutNode,
|
||||||
shared_layout_context: &SharedLayoutContext) {
|
shared_layout_context: &SharedLayoutContext) {
|
||||||
|
|
|
@ -17,7 +17,7 @@ use std::cell::RefCell;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use util::opts;
|
use util::opts;
|
||||||
use util::tid::tid;
|
use util::tid::tid;
|
||||||
use wrapper::{ServoLayoutNode, LayoutNodeTrait, layout_node_to_unsafe_layout_node};
|
use wrapper::{LayoutNode, ServoLayoutNode, layout_node_to_unsafe_layout_node};
|
||||||
use wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode};
|
use wrapper::{ThreadSafeLayoutNode, UnsafeLayoutNode};
|
||||||
|
|
||||||
/// Every time we do another layout, the old bloom filters are invalid. This is
|
/// Every time we do another layout, the old bloom filters are invalid. This is
|
||||||
|
|
|
@ -75,12 +75,12 @@ use util::str::{is_whitespace, search_index};
|
||||||
/// only ever see these and must never see instances of `LayoutJS`.
|
/// only ever see these and must never see instances of `LayoutJS`.
|
||||||
|
|
||||||
pub trait WrapperTypes<'a> : Sized {
|
pub trait WrapperTypes<'a> : Sized {
|
||||||
type Node: LayoutNodeTrait<'a, Self>;
|
type Node: LayoutNode<'a, Self>;
|
||||||
type Document: LayoutDocumentTrait<'a, Self>;
|
type Document: LayoutDocument<'a, Self>;
|
||||||
type Element: LayoutElementTrait<'a, Self>;
|
type Element: LayoutElement<'a, Self>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait LayoutNodeTrait<'ln, Wrappers> : Sized + Copy + Clone
|
pub trait LayoutNode<'ln, Wrappers> : Sized + Copy + Clone
|
||||||
where Wrappers: WrapperTypes<'ln> {
|
where Wrappers: WrapperTypes<'ln> {
|
||||||
/// Returns the type ID of this node.
|
/// Returns the type ID of this node.
|
||||||
fn type_id(&self) -> NodeTypeId;
|
fn type_id(&self) -> NodeTypeId;
|
||||||
|
@ -165,7 +165,7 @@ pub trait LayoutNodeTrait<'ln, Wrappers> : Sized + Copy + Clone
|
||||||
fn next_sibling(&self) -> Option<Wrappers::Node>;
|
fn next_sibling(&self) -> Option<Wrappers::Node>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait LayoutDocumentTrait<'ld, Wrappers> : Sized + Copy + Clone
|
pub trait LayoutDocument<'ld, Wrappers> : Sized + Copy + Clone
|
||||||
where Wrappers: WrapperTypes<'ld> {
|
where Wrappers: WrapperTypes<'ld> {
|
||||||
fn as_node(&self) -> Wrappers::Node;
|
fn as_node(&self) -> Wrappers::Node;
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ pub trait LayoutDocumentTrait<'ld, Wrappers> : Sized + Copy + Clone
|
||||||
fn drain_modified_elements(&self) -> Vec<(Wrappers::Element, ElementSnapshot)>;
|
fn drain_modified_elements(&self) -> Vec<(Wrappers::Element, ElementSnapshot)>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait LayoutElementTrait<'le, Wrappers> : Sized + Copy + Clone + ::selectors::Element
|
pub trait LayoutElement<'le, Wrappers> : Sized + Copy + Clone + ::selectors::Element
|
||||||
where Wrappers: WrapperTypes<'le> {
|
where Wrappers: WrapperTypes<'le> {
|
||||||
fn as_node(&self) -> Wrappers::Node;
|
fn as_node(&self) -> Wrappers::Node;
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ impl<'ln> ServoLayoutNode<'ln> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'ln> LayoutNodeTrait<'ln, ServoWrapperTypes<'ln>> for ServoLayoutNode<'ln> {
|
impl<'ln> LayoutNode<'ln, ServoWrapperTypes<'ln>> for ServoLayoutNode<'ln> {
|
||||||
fn type_id(&self) -> NodeTypeId {
|
fn type_id(&self) -> NodeTypeId {
|
||||||
unsafe {
|
unsafe {
|
||||||
self.node.type_id_for_layout()
|
self.node.type_id_for_layout()
|
||||||
|
@ -508,7 +508,7 @@ pub struct ServoLayoutDocument<'ld> {
|
||||||
chain: PhantomData<&'ld ()>,
|
chain: PhantomData<&'ld ()>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'ld> LayoutDocumentTrait<'ld, ServoWrapperTypes<'ld>> for ServoLayoutDocument<'ld> {
|
impl<'ld> LayoutDocument<'ld, ServoWrapperTypes<'ld>> for ServoLayoutDocument<'ld> {
|
||||||
fn as_node(&self) -> ServoLayoutNode<'ld> {
|
fn as_node(&self) -> ServoLayoutNode<'ld> {
|
||||||
ServoLayoutNode::from_layout_js(self.document.upcast())
|
ServoLayoutNode::from_layout_js(self.document.upcast())
|
||||||
}
|
}
|
||||||
|
@ -539,7 +539,7 @@ pub struct ServoLayoutElement<'le> {
|
||||||
chain: PhantomData<&'le ()>,
|
chain: PhantomData<&'le ()>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'le> LayoutElementTrait<'le, ServoWrapperTypes<'le>> for ServoLayoutElement<'le> {
|
impl<'le> LayoutElement<'le, ServoWrapperTypes<'le>> for ServoLayoutElement<'le> {
|
||||||
fn as_node(&self) -> ServoLayoutNode<'le> {
|
fn as_node(&self) -> ServoLayoutNode<'le> {
|
||||||
ServoLayoutNode::from_layout_js(self.element.upcast())
|
ServoLayoutNode::from_layout_js(self.element.upcast())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue