Bug 1454324 - Clear all animation data when we release layer. r=kats

MozReview-Commit-ID: AOGNjLesY0t

--HG--
extra : rebase_source : 4fcb314209a92ea160ca8377d1b7f731239427a6
This commit is contained in:
Hiroyuki Ikezoe 2018-04-24 09:27:54 +09:00
Родитель 2dc22f118d
Коммит 05604b4dce
3 изменённых файлов: 14 добавлений и 0 удалений

Просмотреть файл

@ -212,6 +212,17 @@ Layer::SetCompositorAnimations(const CompositorAnimations& aCompositorAnimations
Mutated();
}
void
Layer::ClearCompositorAnimations()
{
MOZ_LAYERS_LOG_IF_SHADOWABLE(
this, ("Layer::Mutated(%p) ClearCompositorAnimations with id=%" PRIu64, this, mAnimationInfo.GetCompositorAnimationsId()));
mAnimationInfo.ClearAnimations();
Mutated();
}
void
Layer::StartPendingAnimations(const TimeStamp& aReadyTime)
{

Просмотреть файл

@ -1209,6 +1209,8 @@ public:
// 'initial current time' value.
void StartPendingAnimations(const TimeStamp& aReadyTime);
void ClearCompositorAnimations();
/**
* CONSTRUCTION PHASE ONLY
* If a layer represents a fixed position element, this data is stored on the

Просмотреть файл

@ -979,6 +979,7 @@ LayerTransactionParent::RecvReleaseLayer(const LayerHandle& aHandle)
if (mAnimStorage &&
layer->GetCompositorAnimationsId()) {
mAnimStorage->ClearById(layer->GetCompositorAnimationsId());
layer->ClearCompositorAnimations();
}
layer->Disconnect();
return IPC_OK();