mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 722923. Part 1: Strip opacity/transform update hints when we recursively invalidate over our children. r=mats
This commit is contained in:
parent
cbb760d99e
commit
3f0ffee8df
@ -7616,7 +7616,6 @@ DoApplyRenderingChangeToTree(nsIFrame* aFrame,
|
||||
nsChangeHint aChange);
|
||||
|
||||
/**
|
||||
* @param aBoundsRect returns the bounds enclosing the areas covered by aFrame and its childre
|
||||
* This rect is relative to aFrame's parent
|
||||
*/
|
||||
static void
|
||||
@ -7675,11 +7674,21 @@ DoApplyRenderingChangeToTree(nsIFrame* aFrame,
|
||||
"should only be called within ApplyRenderingChangeToTree");
|
||||
|
||||
for ( ; aFrame; aFrame = nsLayoutUtils::GetNextContinuationOrSpecialSibling(aFrame)) {
|
||||
NS_ASSERTION(!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed(),
|
||||
"Only transformed frames should have UpdateTransformLayer hint");
|
||||
|
||||
// Get view if this frame has one and trigger an update. If the
|
||||
// frame doesn't have a view, find the nearest containing view
|
||||
// (adjusting r's coordinate system to reflect the nesting) and
|
||||
// update there.
|
||||
UpdateViewsForTree(aFrame, aFrameManager, aChange);
|
||||
// We don't need to update transforms in UpdateViewsForTree, because
|
||||
// there can't be any out-of-flows or popups that need to be transformed;
|
||||
// all out-of-flow descendants of the transformed element must also be
|
||||
// descendants of the transformed frame.
|
||||
UpdateViewsForTree(aFrame, aFrameManager,
|
||||
nsChangeHint(aChange & (nsChangeHint_RepaintFrame |
|
||||
nsChangeHint_SyncFrameView |
|
||||
nsChangeHint_UpdateOpacityLayer)));
|
||||
|
||||
// if frame has view, will already be invalidated
|
||||
if (aChange & nsChangeHint_RepaintFrame) {
|
||||
|
Loading…
Reference in New Issue
Block a user