ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file RestyleManagerBase.cpp, line 915
Categories
(Core :: CSS Parsing and Computation, defect, P3)
Tracking
()
People
(Reporter: hiro, Assigned: hiro)
References
(Blocks 1 open bug, Regressed 2 open bugs)
Details
(Keywords: assertion)
Attachments
(5 files)
459 bytes,
text/html
|
Details | |
Bug 1332588 - Set NS_FRAME_MAY_BE_TRANSFORMED bit in nsIFrame::SetMayHaveTransformAnimation. r?boris
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Attachment file spews below assertion: ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file /home/ikezoe/central/layout/base/RestyleManagerBase.cpp
Updated•6 years ago
|
Comment 1•6 years ago
|
||
I hit this assertion repeatedly when loading mozilla.slack.com: [Child 57020, Main Thread] ###!!! ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file layout/base/RestyleManager.cpp, line 1138 [Child 57020, Main Thread] ###!!! ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file layout/base/RestyleManager.cpp, line 1138 [Child 57020, Main Thread] ###!!! ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file layout/base/RestyleManager.cpp, line 1138 [Child 57020, Main Thread] ###!!! ASSERTION: Unexpected UpdateTransformLayer hint: '!(aChange & nsChangeHint_UpdateTransformLayer) || aFrame->IsTransformed() || aFrame->StyleDisplay()->HasTransformStyle()', file layout/base/RestyleManager.cpp, line 1138
Comment 2•5 years ago
|
||
I hit this assertion when repeating steps from bug 1268901
Comment 3•5 years ago
|
||
I hit this assertion failure when trying to open an email in Gmail.
Comment 4•5 years ago
|
||
This assertion was added in bug 1290335: https://searchfox.org/mozilla-central/rev/62ce7b988d85e160ab96624001f0d1c33b0089ee/layout/base/RestyleManager.cpp#1175-1181
Comment 5•5 years ago
|
||
It was not. It was only moving code around, see https://hg.mozilla.org/mozilla-central/rev/a8d9d9b868d60a58860db5c6b429fdb0bda1d148.
Assignee | ||
Comment 6•3 years ago
|
||
Presumably we should also drop nsChangeHint_UpdateTransformLayer here along with nsChangeHint_UpdatePostTransformOverflow.
Let's see if what happens on try;
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2b33125977930765b6bdb71e0b1f1c3543aa1b07
Assignee | ||
Comment 7•3 years ago
|
||
The try run told us that there is a pre-exising issue that we don't set NS_FRAME_MAY_BE_TRANSFORMED property here in KeyframeEffect::UpdateEffectSet.
Pushed another try;
https://treeherder.mozilla.org/#/jobs?repo=try&revision=cbfd4723e84c1be75439d32e0a837fa505273fef
Assignee | ||
Comment 8•3 years ago
|
||
Without this change stacking-context-transform-changing-keyframe.html will fail
with the next change, since we will incorrectly remove
nsChangeHint_UpdateTransformLayer from the target nsIFrame if the frame doesn't
have NS_FRAME_MAY_BE_TRANSFORMED bit.
Updated•3 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
Depends on D75049
Assignee | ||
Comment 10•3 years ago
|
||
The right place to set the bit was in
nsIFrame::SetMayHaveTransformAnimations() (i.e. when we call
KeyframeEffect::UpdateEffectSet) for cases where we add transform animations.
on an nsIFrame which has been already initialized.
Depends on D75050
Assignee | ||
Comment 11•3 years ago
|
||
Since we no longer see the "Unexpected UpdateTransformLayer hint" assertion
on those tests.
Depends on D75051
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/641d8019eb5e Set NS_FRAME_MAY_BE_TRANSFORMED bit in nsIFrame::SetMayHaveTransformAnimation. r=boris https://hg.mozilla.org/integration/autoland/rev/194aab18de04 Drop nsChangeHint_UpdateTransformLayer on the frame that we don't support transform. r=boris https://hg.mozilla.org/integration/autoland/rev/2eb1dfb0ba11 Drop the code to set NS_FRAME_MAY_BE_TRANSFORMED introduced in bug 1524480. r=boris https://hg.mozilla.org/integration/autoland/rev/a14a719778ae Drop explicit setting of dom.animations.mainthread-synchronization-with-geometric-animations. r=boris
Comment 13•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/641d8019eb5e
https://hg.mozilla.org/mozilla-central/rev/194aab18de04
https://hg.mozilla.org/mozilla-central/rev/2eb1dfb0ba11
https://hg.mozilla.org/mozilla-central/rev/a14a719778ae
Updated•3 years ago
|
Description
•