Unreviewed, rolling out r216591.
authorryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 May 2017 21:14:17 +0000 (21:14 +0000)
committerryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 May 2017 21:14:17 +0000 (21:14 +0000)
This change broke an internal build.

Reverted changeset:

"REGRESSION (r207372) Visibility property is not inherited
when used in an animation"
https://bugs.webkit.org/show_bug.cgi?id=171883
http://trac.webkit.org/changeset/216591

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/animations/animation-initial-inheritance-expected.html [deleted file]
LayoutTests/animations/animation-initial-inheritance.html [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderElement.cpp
Source/WebCore/rendering/RenderElement.h
Source/WebCore/style/RenderTreeUpdater.cpp
Source/WebCore/style/StyleTreeResolver.cpp

index e5e94f8..7dba115 100644 (file)
@@ -1,5 +1,18 @@
 2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>
 
+        Unreviewed, rolling out r216591.
+
+        This change broke an internal build.
+
+        Reverted changeset:
+
+        "REGRESSION (r207372) Visibility property is not inherited
+        when used in an animation"
+        https://bugs.webkit.org/show_bug.cgi?id=171883
+        http://trac.webkit.org/changeset/216591
+
+2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>
+
         Unreviewed, remove TestExpectation for a test that was removed in r216259.
 
         * platform/mac/TestExpectations:
diff --git a/LayoutTests/animations/animation-initial-inheritance-expected.html b/LayoutTests/animations/animation-initial-inheritance-expected.html
deleted file mode 100644 (file)
index e52daa7..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<style>
-#test1 {
-    visibility: hidden;
-}
-#test2 {
-    color: green;
-}
-</style>
-</head>
-<body>
-<div id=test1>
-This shouldn't be initially visible
-<div>This shouldn't be initially visible</div>
-</div>
-<div id=test2>
-This should be initially green
-<div>This should be initially green</div>
-</div>
-</body>
-</html>
diff --git a/LayoutTests/animations/animation-initial-inheritance.html b/LayoutTests/animations/animation-initial-inheritance.html
deleted file mode 100644 (file)
index be88599..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<style>
-#test1 {
-    animation:test1 3s steps(1,end) 0s 1 normal both
-}
-#test2 {
-    animation:test2 3s steps(1,end) 0s 1 normal both
-}
-@keyframes test1 {
-    from {visibility: hidden}
-    to {visibility: visible}
-}
-@keyframes test2 {
-    from {color: green}
-    to {color: red}
-}
-</style>
-<script>
-if (window.testRunner) {
-    testRunner.waitUntilDone();
-    requestAnimationFrame(() => {
-        testRunner.notifyDone();
-    });
-}
-</script>
-</head>
-<body>
-<div id=test1>
-This shouldn't be initially visible
-<div>This shouldn't be initially visible</div>
-</div>
-<div id=test2>
-This should be initially green
-<div>This should be initially green</div>
-</div>
-</body>
-</html>
index 6802c71..82c9d25 100644 (file)
@@ -1,3 +1,16 @@
+2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r216591.
+
+        This change broke an internal build.
+
+        Reverted changeset:
+
+        "REGRESSION (r207372) Visibility property is not inherited
+        when used in an animation"
+        https://bugs.webkit.org/show_bug.cgi?id=171883
+        http://trac.webkit.org/changeset/216591
+
 2017-05-10  Chris Dumez  <cdumez@apple.com>
 
         Drop custom bindings code now window.open()
index e27ebe4..dbde69e 100644 (file)
@@ -102,7 +102,6 @@ inline RenderElement::RenderElement(ContainerNode& elementOrDocument, RenderStyl
     , m_baseTypeFlags(baseTypeFlags)
     , m_ancestorLineBoxDirty(false)
     , m_hasInitializedStyle(false)
-    , m_hasInitialAnimatedStyle(false)
     , m_renderInlineAlwaysCreatesLineBoxes(false)
     , m_renderBoxNeedsLazyRepaint(false)
     , m_hasPausedImageAnimations(false)
index 2940a46..f9a736c 100644 (file)
@@ -133,9 +133,6 @@ public:
     // and so only should be called when the style is known not to have changed (or from setStyle).
     void setStyleInternal(RenderStyle&& style) { m_style = WTFMove(style); }
 
-    bool hasInitialAnimatedStyle() const { return m_hasInitialAnimatedStyle; }
-    void setHasInitialAnimatedStyle(bool b) { m_hasInitialAnimatedStyle = b; }
-
     // Repaint only if our old bounds and new bounds are different. The caller may pass in newBounds and newOutlineBox if they are known.
     bool repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repaintContainer, const LayoutRect& oldBounds, const LayoutRect& oldOutlineBox, const LayoutRect* newBoundsPtr = nullptr, const LayoutRect* newOutlineBoxPtr = nullptr);
 
@@ -332,7 +329,6 @@ private:
     unsigned m_baseTypeFlags : 6;
     unsigned m_ancestorLineBoxDirty : 1;
     unsigned m_hasInitializedStyle : 1;
-    unsigned m_hasInitialAnimatedStyle : 1;
 
     unsigned m_renderInlineAlwaysCreatesLineBoxes : 1;
     unsigned m_renderBoxNeedsLazyRepaint : 1;
index df4b801..61ea61c 100644 (file)
@@ -353,10 +353,8 @@ void RenderTreeUpdater::createRenderer(Element& element, RenderStyle&& style)
     auto& initialStyle = newRenderer->style();
     std::unique_ptr<RenderStyle> animatedStyle;
     newRenderer->animation().updateAnimations(*newRenderer, initialStyle, animatedStyle);
-    if (animatedStyle) {
+    if (animatedStyle)
         newRenderer->setStyleInternal(WTFMove(*animatedStyle));
-        newRenderer->setHasInitialAnimatedStyle(true);
-    }
 
     newRenderer->initializeStyle();
 
index 6150385..8612192 100644 (file)
@@ -258,14 +258,6 @@ ElementUpdate TreeResolver::createAnimatedElementUpdate(std::unique_ptr<RenderSt
 
     if (animatedStyle) {
         auto change = determineChange(renderer->style(), *animatedStyle);
-        if (renderer->hasInitialAnimatedStyle()) {
-            renderer->setHasInitialAnimatedStyle(false);
-            // When we initialize a newly created renderer with initial animated style we don't inherit it to descendants.
-            // The first animation frame needs to correct this.
-            // FIXME: We should compute animated style correctly during initial style resolution when we don't have renderers yet.
-            //        https://bugs.webkit.org/show_bug.cgi?id=171926
-            change = std::max(change, Inherit);
-        }
         // If animation forces render tree reconstruction pass the original style. The animation will be applied on renderer construction.
         // FIXME: We should always use the animated style here.
         auto style = change == Detach ? WTFMove(newStyle) : WTFMove(animatedStyle);