зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1507961
- Check that an SVG DOM item wasn't removed from its list before scheduling its animation update r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D12361 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
79d49a6b70
Коммит
3e8ab627f8
|
@ -81,7 +81,9 @@ public:
|
||||||
{
|
{
|
||||||
mLength->Element()->DidChangeLengthList(mLength->mAttrEnum,
|
mLength->Element()->DidChangeLengthList(mLength->mAttrEnum,
|
||||||
mEmptyOrOldValue);
|
mEmptyOrOldValue);
|
||||||
if (mLength->mList->IsAnimating()) {
|
// Null check mLength->mList, since DidChangeLengthList can run script,
|
||||||
|
// potentially removing mLength from its list.
|
||||||
|
if (mLength->mList && mLength->mList->IsAnimating()) {
|
||||||
mLength->Element()->AnimationNeedsResample();
|
mLength->Element()->AnimationNeedsResample();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,9 @@ public:
|
||||||
{
|
{
|
||||||
mNumber->Element()->DidChangeNumberList(mNumber->mAttrEnum,
|
mNumber->Element()->DidChangeNumberList(mNumber->mAttrEnum,
|
||||||
mEmptyOrOldValue);
|
mEmptyOrOldValue);
|
||||||
if (mNumber->mList->IsAnimating()) {
|
// Null check mNumber->mList, since DidChangeNumberList can run script,
|
||||||
|
// potentially removing mNumber from its list.
|
||||||
|
if (mNumber->mList && mNumber->mList->IsAnimating()) {
|
||||||
mNumber->Element()->AnimationNeedsResample();
|
mNumber->Element()->AnimationNeedsResample();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,9 @@ public:
|
||||||
~AutoChangePathSegNotifier()
|
~AutoChangePathSegNotifier()
|
||||||
{
|
{
|
||||||
mPathSeg->Element()->DidChangePathSegList(mEmptyOrOldValue);
|
mPathSeg->Element()->DidChangePathSegList(mEmptyOrOldValue);
|
||||||
if (mPathSeg->mList->AttrIsAnimating()) {
|
// Null check mPathSeg->mList, since DidChangePathSegList can run script,
|
||||||
|
// potentially removing mPathSeg from its list.
|
||||||
|
if (mPathSeg->mList && mPathSeg->mList->AttrIsAnimating()) {
|
||||||
mPathSeg->Element()->AnimationNeedsResample();
|
mPathSeg->Element()->AnimationNeedsResample();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,9 @@ public:
|
||||||
~AutoChangePointNotifier()
|
~AutoChangePointNotifier()
|
||||||
{
|
{
|
||||||
mPoint->Element()->DidChangePointList(mEmptyOrOldValue);
|
mPoint->Element()->DidChangePointList(mEmptyOrOldValue);
|
||||||
if (mPoint->mList->AttrIsAnimating()) {
|
// Null check mPoint->mList, since DidChangePointList can run script,
|
||||||
|
// potentially removing mPoint from its list.
|
||||||
|
if (mPoint->mList && mPoint->mList->AttrIsAnimating()) {
|
||||||
mPoint->Element()->AnimationNeedsResample();
|
mPoint->Element()->AnimationNeedsResample();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,9 @@ public:
|
||||||
{
|
{
|
||||||
if (mTransform->HasOwner()) {
|
if (mTransform->HasOwner()) {
|
||||||
mTransform->Element()->DidChangeTransformList(mEmptyOrOldValue);
|
mTransform->Element()->DidChangeTransformList(mEmptyOrOldValue);
|
||||||
if (mTransform->mList->IsAnimating()) {
|
// Null check mTransform->mList, since DidChangeTransformList can run
|
||||||
|
// script, potentially removing mTransform from its list.
|
||||||
|
if (mTransform->mList && mTransform->mList->IsAnimating()) {
|
||||||
mTransform->Element()->AnimationNeedsResample();
|
mTransform->Element()->AnimationNeedsResample();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -90,3 +90,4 @@ load 1420492.html
|
||||||
load 1477853.html
|
load 1477853.html
|
||||||
load 1486488.html
|
load 1486488.html
|
||||||
load 1493447.html
|
load 1493447.html
|
||||||
|
skip-if(Android) load 1507961-1.html # times out on Android due to the test size
|
||||||
|
|
Загрузка…
Ссылка в новой задаче