mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 00:32:11 +00:00
7a10d13a65
Currently we avoid posting animation restyles when unbinding an element by removing the element from the document before deleting its animation collections. As a result, when canceled animations go to post a restyle, they can't find a pres context and give up posting a restyle. However, this is problematic for two reasons: * It means we can't remove such canceled animations from the PendingAnimationTracker if they are present there (i.e. it regresses the fix from bug 1223445). * It means we can't post cancel events for such animations/transitions since we can't lookup the appropriate AnimationEventDispatcher. In the next patch in this series we will change that order to fix the above problems but before we do that, we need to introduce another mechanism to make sure that we don't post restyles when unbinding an element or else we will regress bug 1396041. This patch does that by introducing a flag which causes us to not post restyles when we are doing DOM surgery. For all other cases we actually _do_ need to post restyles in order to update the style correctly. Without this patch, layout/style/crashtests/1396041.html would fail after applying the next patch in this series. Differential Revision: https://phabricator.services.mozilla.com/D28021 --HG-- extra : moz-landing-system : lando
17 lines
528 B
C++
17 lines
528 B
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_PostRestyleMode_h
|
|
#define mozilla_PostRestyleMode_h
|
|
|
|
namespace mozilla {
|
|
|
|
enum class PostRestyleMode { IfNeeded, Never };
|
|
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_PostRestyleMode_h
|