Title: [140622] trunk/Source/WebCore
Revision
140622
Author
[email protected]
Date
2013-01-23 17:54:13 -0800 (Wed, 23 Jan 2013)

Log Message

RenderProgress does not repaint on value change
https://bugs.webkit.org/show_bug.cgi?id=106977

Patch by Benjamin Poulain <[email protected]> on 2013-01-23
Reviewed by Joseph Pecoraro.

No test because the ouput depends on the code of RenderTheme, and
we use the platform theme for testing.

* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateFromElement):
(WebCore::RenderProgress::updateAnimationState):
Previously, repaint() was only called on two occasions:
-On animationTimerFired().
-In response to updateFromElement() if and only if the RenderTheme start/stop an
 animation previously stopped/running.

When changing the value of HTMLProgressElement, no repaint was called until
the next timer fired for the animation.
This is a problem if:
-The animation of RenderTheme is slow.
-If there is no animation (the element is never updated in that case).

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (140621 => 140622)


--- trunk/Source/WebCore/ChangeLog	2013-01-24 01:48:53 UTC (rev 140621)
+++ trunk/Source/WebCore/ChangeLog	2013-01-24 01:54:13 UTC (rev 140622)
@@ -1,3 +1,27 @@
+2013-01-23  Benjamin Poulain  <[email protected]>
+
+        RenderProgress does not repaint on value change
+        https://bugs.webkit.org/show_bug.cgi?id=106977
+
+        Reviewed by Joseph Pecoraro.
+
+        No test because the ouput depends on the code of RenderTheme, and
+        we use the platform theme for testing.
+
+        * rendering/RenderProgress.cpp:
+        (WebCore::RenderProgress::updateFromElement):
+        (WebCore::RenderProgress::updateAnimationState):
+        Previously, repaint() was only called on two occasions:
+        -On animationTimerFired().
+        -In response to updateFromElement() if and only if the RenderTheme start/stop an
+         animation previously stopped/running.
+
+        When changing the value of HTMLProgressElement, no repaint was called until
+        the next timer fired for the animation.
+        This is a problem if:
+        -The animation of RenderTheme is slow.
+        -If there is no animation (the element is never updated in that case).
+
 2013-01-23  Ian Vollick  <[email protected]>
 
         Introduce the "stacking container" concept.

Modified: trunk/Source/WebCore/rendering/RenderProgress.cpp (140621 => 140622)


--- trunk/Source/WebCore/rendering/RenderProgress.cpp	2013-01-24 01:48:53 UTC (rev 140621)
+++ trunk/Source/WebCore/rendering/RenderProgress.cpp	2013-01-24 01:54:13 UTC (rev 140622)
@@ -56,6 +56,7 @@
     m_position = element->position();
 
     updateAnimationState();
+    repaint();
     RenderBlock::updateFromElement();
 }
 
@@ -91,7 +92,6 @@
     if (animating == m_animating)
         return;
 
-    repaint();
     m_animating = animating;
     if (m_animating) {
         m_animationStartTime = currentTime();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to