stylo: Stop cloning the list of stylesheets each flush.

This commit is contained in:
Emilio Cobos Álvarez 2017-05-11 01:53:59 +02:00
parent 677daaabc5
commit 25d39006b6
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
2 changed files with 18 additions and 9 deletions

View file

@ -18,7 +18,7 @@ use std::collections::HashMap;
use std::sync::mpsc::{Receiver, Sender, channel};
use stylearc::Arc;
use stylesheet_set::StylesheetSet;
use stylesheets::{FontFaceRule, Origin, Stylesheet};
use stylesheets::{FontFaceRule, Origin};
use stylist::{ExtraStyleData, Stylist};
/// The container for data that a Servo-backed Gecko document needs to style
@ -102,10 +102,8 @@ impl PerDocumentStyleDataImpl {
};
let author_style_disabled = self.stylesheets.author_style_disabled();
let mut stylesheets = Vec::<Arc<Stylesheet>>::new();
self.stylesheets.flush(&mut stylesheets);
self.stylist.clear();
self.stylist.rebuild(stylesheets.iter(),
self.stylist.rebuild(self.stylesheets.flush(),
&StylesheetGuards::same(guard),
/* ua_sheets = */ None,
/* stylesheets_changed = */ true,