servo: Merge #18009 - stylo: Fix skip_root_and_item_display_fixup (from emilio:video-controls); r=heycam

The check isn't doing what the comment is saying.

XBL subtrees for video controls all have the
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE flag, but not all of them are NAC
themselves, so we may incorrectly miss blockification.

Bug: 1366163
Reviewed-by: heycam
MozReview-Commit-ID: Oq3W258Lz2
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ecedb562c66c1f436850704b6dc467a04f5a283

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4ac2d18a9f0b660d8bc869a436d6e2e210d07302
This commit is contained in:
Emilio Cobos Álvarez 2017-08-08 05:28:35 -05:00
Родитель 674e1b96fb
Коммит f5afe5c1a5
1 изменённых файлов: 1 добавлений и 2 удалений

Просмотреть файл

@ -238,7 +238,6 @@ impl<'ln> GeckoNode<'ln> {
/// This logic is duplicated in Gecko's nsIContent::IsInAnonymousSubtree.
#[inline]
fn is_in_anonymous_subtree(&self) -> bool {
use gecko_bindings::structs::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
use gecko_bindings::structs::NODE_IS_IN_SHADOW_TREE;
self.flags() & (NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE as u32) != 0 ||
((self.flags() & (NODE_IS_IN_SHADOW_TREE as u32) == 0) &&
@ -1144,7 +1143,7 @@ impl<'le> TElement for GeckoElement<'le> {
// level native anonymous content subtree roots, since they're not
// really roots from the style fixup perspective. Checking that we
// are NAC handles both cases.
self.flags() & (NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE as u32) != 0
self.is_native_anonymous()
}
unsafe fn set_selector_flags(&self, flags: ElementSelectorFlags) {