diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-16 16:37:28 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-16 16:37:28 -0400 |
commit | 4375774c901bac4bd1ecaa35b40f55397044b7e9 (patch) | |
tree | 5c1a39a427b89390ee5ae54f75b04fa6536fb4a4 /layout/base/RestyleManager.cpp | |
parent | c66ed1275f1039fdf23a8f2c172d7c0b4691d1c2 (diff) | |
download | UXP-4375774c901bac4bd1ecaa35b40f55397044b7e9.tar UXP-4375774c901bac4bd1ecaa35b40f55397044b7e9.tar.gz UXP-4375774c901bac4bd1ecaa35b40f55397044b7e9.tar.lz UXP-4375774c901bac4bd1ecaa35b40f55397044b7e9.tar.xz UXP-4375774c901bac4bd1ecaa35b40f55397044b7e9.zip |
Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time
* Stop using a node bit for HasExplicitBaseURI
* Move MAY_HAVE_CLASS to mBoolFlags
* Add a flag to indicate that a node is native anonymous content
* Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo
Tag #1375
Diffstat (limited to 'layout/base/RestyleManager.cpp')
-rw-r--r-- | layout/base/RestyleManager.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/layout/base/RestyleManager.cpp b/layout/base/RestyleManager.cpp index 124b5535e..c3eeb8c71 100644 --- a/layout/base/RestyleManager.cpp +++ b/layout/base/RestyleManager.cpp @@ -2341,6 +2341,16 @@ ElementRestyler::ComputeRestyleResultFromFrame(nsIFrame* aSelf, return; } + // Each NAC element inherits from the first non-NAC ancestor, so child + // NAC may inherit from our parent instead of us. That means we can't + // cull traversal if our style context didn't change. + if (aSelf->GetContent() && aSelf->GetContent()->IsNativeAnonymous()) { + LOG_RESTYLE_CONTINUE("native anonymous content"); + aRestyleResult = RestyleResult::eContinue; + aCanStopWithStyleChange = false; + return; + } + // Style changes might have moved children between the two nsLetterFrames // (the one matching ::first-letter and the one containing the rest of the // content). Continue restyling to the children of the nsLetterFrame so |