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