Add pixelSnappedIntRect method
https://bugs.webkit.org/show_bug.cgi?id=78054
Reviewed by Eric Seidel.
This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to
understand we're using sub-pixel units).
No new tests. No change in behavior.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
(WebCore::Range::boundingBox):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::startSpeechInput):
(WebCore::Frame::nodeImage):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::doDeferredRepaints):
(WebCore::FrameView::windowClipRectForLayer):
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
(WebCore::pixelSnappedIntRect):
(WebCore):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):
- rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintIntoRegion):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paintColumnBorder):
(WebCore::RenderFrameSet::paintRowBorder):
(WebCore::RenderFrameSet::positionFramesWithFlattening):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::positionOverflowControls):
(WebCore::RenderLayer::calculateRects):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::paintScrollbar):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
- rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::paint):
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getRoundedBorderFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):