Move StylesheetSetRef to script

This commit is contained in:
Fernando Jiménez Moreno 2019-04-22 14:30:10 +02:00
parent 9d52feffbb
commit d0b2e826ef
6 changed files with 75 additions and 65 deletions

View file

@ -373,68 +373,6 @@ where
invalidations: StylesheetInvalidationSet,
}
/// Functionality common to DocumentStylesheetSet and AuthorStylesheetSet.
pub enum StylesheetSetRef<'a, S>
where
S: StylesheetInDocument + PartialEq + 'static,
{
/// Author stylesheet set.
Author(&'a mut AuthorStylesheetSet<S>),
/// Document stylesheet set.
Document(&'a mut DocumentStylesheetSet<S>),
}
impl<'a, S> StylesheetSetRef<'a, S>
where
S: StylesheetInDocument + PartialEq + 'static,
{
/// Appends a new stylesheet to the current set.
///
/// No device implies not computing invalidations.
pub fn append_stylesheet(
&mut self,
device: Option<&Device>,
sheet: S,
guard: &SharedRwLockReadGuard,
) {
match self {
StylesheetSetRef::Author(set) => set.append_stylesheet(device, sheet, guard),
StylesheetSetRef::Document(set) => set.append_stylesheet(device, sheet, guard),
}
}
/// Insert a given stylesheet before another stylesheet in the document.
pub fn insert_stylesheet_before(
&mut self,
device: Option<&Device>,
sheet: S,
before_sheet: S,
guard: &SharedRwLockReadGuard,
) {
match self {
StylesheetSetRef::Author(set) => {
set.insert_stylesheet_before(device, sheet, before_sheet, guard)
},
StylesheetSetRef::Document(set) => {
set.insert_stylesheet_before(device, sheet, before_sheet, guard)
},
}
}
/// Remove a given stylesheet from the set.
pub fn remove_stylesheet(
&mut self,
device: Option<&Device>,
sheet: S,
guard: &SharedRwLockReadGuard,
) {
match self {
StylesheetSetRef::Author(set) => set.remove_stylesheet(device, sheet, guard),
StylesheetSetRef::Document(set) => set.remove_stylesheet(device, sheet, guard),
}
}
}
/// This macro defines methods common to DocumentStylesheetSet and
/// AuthorStylesheetSet.
///