style: Make the simplified children iterator check account for Shadow DOM on its own.

We are relying in the XBL binding for the shadow host, we need to check
explicitly.

Also, we were checking in_shadow_tree, which is really broad. Just
is_html_slot_element should do, since the rest of the nodes should have only
light tree children.

Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: KAFRVxaLsK
This commit is contained in:
Emilio Cobos Álvarez 2018-02-25 17:58:59 +01:00
parent f3fe99bcb2
commit 07f86404cd
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -959,7 +959,8 @@ impl<'le> TElement for GeckoElement<'le> {
// ::before/::after, XBL bindings, or nsIAnonymousContentCreators.
if self.is_in_anonymous_subtree() ||
self.has_xbl_binding_with_content() ||
self.is_in_shadow_tree() ||
self.is_html_slot_element() ||
self.shadow_root().is_some() ||
self.may_have_anonymous_children() {
unsafe {
let mut iter: structs::StyleChildrenIterator = ::std::mem::zeroed();