-
allan.jensen@digia.com authored
https://bugs.webkit.org/show_bug.cgi?id=115304 Reviewed by David Hyatt. Source/WebCore: Accelerated layers can cause blocks at subpixel offsets to shift because accumulated subpixel offsets are lost between each layers. To solve this layer bounds are now calculated in LayoutUnits, and their subpixel offset saved so it can be used to ensure correct pixel-snapping during painting. Test: fast/sub-pixel/sub-pixel-composited-layers.html * WebCore.exp.in: * inspector/InspectorLayerTreeAgent.cpp: (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): * platform/graphics/LayoutPoint.h: (WebCore::LayoutPoint::fraction): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::setupClipPath): (WebCore::RenderLayer::setupFilters): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::calculateLayerBounds): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateCompositedBounds): (WebCore::RenderLayerBacking::updateAfterWidgetResize): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): (WebCore::RenderLayerBacking::resetContentsRect): (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): (WebCore::RenderLayerBacking::contentsBox): (WebCore::RenderLayerBacking::backgroundBox): (WebCore::RenderLayerBacking::paintIntoLayer): (WebCore::RenderLayerBacking::paintContents): (WebCore::RenderLayerBacking::compositedBounds): (WebCore::RenderLayerBacking::setCompositedBounds): * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::logLayerInfo): (WebCore::RenderLayerCompositor::calculateCompositedBounds): * rendering/RenderLayerCompositor.h: * rendering/RenderTreeAsText.cpp: (WebCore::operator<<): * rendering/RenderTreeAsText.h: LayoutTests: * fast/sub-pixel/sub-pixel-composited-layers-expected.html: Added. * fast/sub-pixel/sub-pixel-composited-layers.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
d5cbc754