mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
layout: Start using the new extensible RestyleDamage
type from Stylo (#37592)
This will allow Servo to add custom types of damage in the near future which correspond to minor phases layout. The damage exposed by Stylo only corresponds to the major layout phses. In the future, both phases will likely be managed by Servo itself and implementors will need to provide their own damage system entirely. Testing: This shouldn't change behavior and thus is covered by existing tests. Stylo PR: https://github.com/servo/stylo/pull/207 Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
a9dc2ac83a
commit
5286869b96
6 changed files with 56 additions and 35 deletions
|
@ -11,7 +11,7 @@ use embedder_traits::UntrustedNodeAddress;
|
|||
use html5ever::{LocalName, Namespace, local_name, ns};
|
||||
use js::jsapi::JSObject;
|
||||
use layout_api::wrapper_traits::{LayoutNode, ThreadSafeLayoutElement, ThreadSafeLayoutNode};
|
||||
use layout_api::{LayoutNodeType, StyleData};
|
||||
use layout_api::{LayoutDamage, LayoutNodeType, StyleData};
|
||||
use selectors::Element as _;
|
||||
use selectors::attr::{AttrSelectorOperation, CaseSensitivity, NamespaceConstraint};
|
||||
use selectors::bloom::{BLOOM_HASH_MASK, BloomFilter};
|
||||
|
@ -26,10 +26,10 @@ use style::bloom::each_relevant_element_hash;
|
|||
use style::context::SharedStyleContext;
|
||||
use style::data::ElementData;
|
||||
use style::dom::{DomChildren, LayoutIterator, TDocument, TElement, TNode, TShadowRoot};
|
||||
use style::properties::PropertyDeclarationBlock;
|
||||
use style::properties::{ComputedValues, PropertyDeclarationBlock};
|
||||
use style::selector_parser::{
|
||||
AttrValue as SelectorAttrValue, Lang, NonTSPseudoClass, PseudoElement, SelectorImpl,
|
||||
extended_filtering,
|
||||
AttrValue as SelectorAttrValue, Lang, NonTSPseudoClass, PseudoElement, RestyleDamage,
|
||||
SelectorImpl, extended_filtering,
|
||||
};
|
||||
use style::shared_lock::Locked as StyleLocked;
|
||||
use style::stylesheets::scope_rule::ImplicitScopeRoot;
|
||||
|
@ -554,6 +554,10 @@ impl<'dom> style::dom::TElement for ServoLayoutElement<'dom> {
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
fn compute_layout_damage(_old: &ComputedValues, _new: &ComputedValues) -> RestyleDamage {
|
||||
RestyleDamage::from_bits_retain(LayoutDamage::REBUILD_BOX.bits())
|
||||
}
|
||||
}
|
||||
|
||||
impl<'dom> ::selectors::Element for ServoLayoutElement<'dom> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue