summaryrefslogtreecommitdiffstats
path: root/layout/base/RestyleManager.cpp
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-16 16:37:28 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-16 16:37:28 -0400
commit4375774c901bac4bd1ecaa35b40f55397044b7e9 (patch)
tree5c1a39a427b89390ee5ae54f75b04fa6536fb4a4 /layout/base/RestyleManager.cpp
parentc66ed1275f1039fdf23a8f2c172d7c0b4691d1c2 (diff)
downloadUXP-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.cpp10
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