Title: [183887] trunk/Source/WebCore
Revision
183887
Author
hy...@apple.com
Date
2015-05-06 14:00:01 -0700 (Wed, 06 May 2015)

Log Message

RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
https://bugs.webkit.org/show_bug.cgi?id=144708

Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform):

Only compute a pixel snapped rect if we actually end up needing it. The common case
is that this rect is not needed, so pushing it inside the two if statements
speeds up the common case.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (183886 => 183887)


--- trunk/Source/WebCore/ChangeLog	2015-05-06 20:52:15 UTC (rev 183886)
+++ trunk/Source/WebCore/ChangeLog	2015-05-06 21:00:01 UTC (rev 183887)
@@ -1,3 +1,17 @@
+2015-05-06  David Hyatt  <hy...@apple.com>
+
+        RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
+        https://bugs.webkit.org/show_bug.cgi?id=144708
+
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::currentTransform):
+
+        Only compute a pixel snapped rect if we actually end up needing it. The common case
+        is that this rect is not needed, so pushing it inside the two if statements
+        speeds up the common case.
+
 2015-05-06  Timothy Horton  <timothy_hor...@apple.com>
 
         Fix the build.

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (183886 => 183887)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2015-05-06 20:52:15 UTC (rev 183886)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2015-05-06 21:00:01 UTC (rev 183887)
@@ -972,12 +972,12 @@
 {
     if (!m_transform)
         return TransformationMatrix();
-
+    
     RenderBox* box = renderBox();
     ASSERT(box);
-    FloatRect pixelSnappedBorderRect = snapRectToDevicePixels(box->borderBoxRect(), box->document().deviceScaleFactor());
     if (renderer().style().isRunningAcceleratedAnimation()) {
         TransformationMatrix currTransform;
+        FloatRect pixelSnappedBorderRect = snapRectToDevicePixels(box->borderBoxRect(), box->document().deviceScaleFactor());
         RefPtr<RenderStyle> style = renderer().animation().getAnimatedStyleForRenderer(renderer());
         style->applyTransform(currTransform, pixelSnappedBorderRect, applyOrigin);
         makeMatrixRenderable(currTransform, canRender3DTransforms());
@@ -987,6 +987,7 @@
     // m_transform includes transform-origin, so we need to recompute the transform here.
     if (applyOrigin == RenderStyle::ExcludeTransformOrigin) {
         TransformationMatrix currTransform;
+        FloatRect pixelSnappedBorderRect = snapRectToDevicePixels(box->borderBoxRect(), box->document().deviceScaleFactor());
         box->style().applyTransform(currTransform, pixelSnappedBorderRect, RenderStyle::ExcludeTransformOrigin);
         makeMatrixRenderable(currTransform, canRender3DTransforms());
         return currTransform;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to