mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
style: [css-nesting] Add storage for nested rules
Allow to have a CssRules list inside a StyleRule. This only introduces the storage and serialization code for them, but we still don't parse it. Differential Revision: https://phabricator.services.mozilla.com/D176550
This commit is contained in:
parent
1182296c4b
commit
d4e12b9db6
4 changed files with 54 additions and 12 deletions
|
@ -25,6 +25,16 @@ use std::fmt;
|
|||
#[derive(Eq, PartialEq)]
|
||||
pub struct GeckoStyleSheet(*const DomStyleSheet);
|
||||
|
||||
// NOTE(emilio): These are kind of a lie. We allow to make these Send + Sync so that other data
|
||||
// structures can also be Send and Sync, but Gecko's stylesheets are main-thread-reference-counted.
|
||||
//
|
||||
// We assert that we reference-count in the right thread (in the Addref/Release implementations).
|
||||
// Sending these to a different thread can't really happen (it could theoretically really happen if
|
||||
// we allowed @import rules inside a nested style rule, but that can't happen per spec and would be
|
||||
// a parser bug, caught by the asserts).
|
||||
unsafe impl Send for GeckoStyleSheet {}
|
||||
unsafe impl Sync for GeckoStyleSheet {}
|
||||
|
||||
impl fmt::Debug for GeckoStyleSheet {
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||
let contents = self.contents();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue