[iOS] Don't force compositing layers for no-op 3D transforms on low-memory devices.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 6 Jun 2015 03:11:28 +0000 (03:11 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 6 Jun 2015 03:11:28 +0000 (03:11 +0000)
commitfa680c052ab7ffb006b7591b4343aceaead6b184
tree5550810e72c183d57425e40d120166a7c5770c33
parent9b92aec322ee7940e816203f6c2733cbf44e67e5
[iOS] Don't force compositing layers for no-op 3D transforms on low-memory devices.
<https://webkit.org/b/145719>
<rdar://problem/19973042>

Reviewed by Geoffrey Garen.

We put elements with 3D identity transforms onto compositing layers because
we anticipate that they will somehow animate in the future.

This can get extremely expensive, especially on low-memory devices.
This patch makes WebKit stop handing out compositing layers for this kinda thing:

    -webkit-transform: translate3d(0,0,0)

..on devices with 512MB or less. This dramatically improves stability on some
web pages.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForTransform):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerCompositor.cpp