mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Refactor style to be completely backend-independent
This commit refactors the style crate to be completely independent of the actual implementation and pseudo-elements supported. This also adds a gecko backend which introduces parsing for the anonymous box pseudo-elements[1], although there's still no way of querying them. https://mxr.mozilla.org/mozilla-central/source/layout/style/nsCSSAnonBoxList.h
This commit is contained in:
parent
a164176876
commit
dd503dfacb
41 changed files with 767 additions and 310 deletions
|
@ -62,13 +62,15 @@ use std::sync::mpsc::{channel, Sender, Receiver};
|
|||
use std::sync::{Arc, Mutex, MutexGuard, RwLock};
|
||||
use style::animation::Animation;
|
||||
use style::computed_values::{filter, mix_blend_mode};
|
||||
use style::context::{SharedStyleContext, StylistWrapper, ReflowGoal};
|
||||
use style::context::{ReflowGoal, StylistWrapper};
|
||||
use style::dom::{TDocument, TElement, TNode};
|
||||
use style::error_reporting::ParseErrorReporter;
|
||||
use style::media_queries::{Device, MediaType};
|
||||
use style::parallel::WorkQueueData;
|
||||
use style::selector_matching::{Stylist, USER_OR_USER_AGENT_STYLESHEETS};
|
||||
use style::stylesheets::{CSSRuleIteratorExt, Stylesheet};
|
||||
use style::selector_impl::ServoSelectorImpl;
|
||||
use style::selector_matching::USER_OR_USER_AGENT_STYLESHEETS;
|
||||
use style::servo::{SharedStyleContext, Stylesheet, Stylist};
|
||||
use style::stylesheets::CSSRuleIteratorExt;
|
||||
use traversal::RecalcStyleAndConstructFlows;
|
||||
use url::Url;
|
||||
use util::geometry::MAX_RECT;
|
||||
|
@ -477,7 +479,7 @@ impl LayoutThread {
|
|||
style_context: SharedStyleContext {
|
||||
viewport_size: self.viewport_size.clone(),
|
||||
screen_size_changed: screen_size_changed,
|
||||
stylist: StylistWrapper(&*rw_data.stylist),
|
||||
stylist: StylistWrapper::<ServoSelectorImpl>(&*rw_data.stylist),
|
||||
generation: self.generation,
|
||||
goal: goal,
|
||||
new_animations_sender: Mutex::new(self.new_animations_sender.clone()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue