servo: Merge #18319 - Do not skip parent display-based style fixups for NAC that is not a NAC root (from chenpighead:stylo-fixup-display-for-NAC); r=heycam

Stylo is currently skipping parent display-based style fixups for all NAC,
whereas we probably only want to do this for NAC roots.

In this patch, we ensure that we skip it for NAC roots, and pseudo-elements,
but not other NAC.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1359303](https://bugzilla.mozilla.org/show_bug.cgi?id=1359303)

Source-Repo: https://github.com/servo/servo
Source-Revision: cb4ce934299ce97499c766f1b09bd9f1303b5e38

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 765a1f5ed553c6c417560f6ecf497ecfb5ccb376
This commit is contained in:
Jeremy Chen 2017-08-31 03:10:23 -05:00
Родитель e08ac68aa5
Коммит b953c8375e
1 изменённых файлов: 3 добавлений и 1 удалений

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

@ -1171,7 +1171,9 @@ impl<'le> TElement for GeckoElement<'le> {
// level native anonymous content subtree roots, since they're not // level native anonymous content subtree roots, since they're not
// really roots from the style fixup perspective. Checking that we // really roots from the style fixup perspective. Checking that we
// are NAC handles both cases. // are NAC handles both cases.
self.is_native_anonymous() self.is_native_anonymous() &&
(self.is_root_of_native_anonymous_subtree() ||
self.implemented_pseudo_element().is_some())
} }
unsafe fn set_selector_flags(&self, flags: ElementSelectorFlags) { unsafe fn set_selector_flags(&self, flags: ElementSelectorFlags) {