Skip to content
  • leviw@chromium.org's avatar
    Add pixelSnappedIntRect method · 9b486cd2
    leviw@chromium.org authored
    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):
    * dom/Range.cpp:
    (WebCore::Range::boundingBox):
    * html/HTMLCanvasElement.cpp:
    (WebCore::HTMLCanvasElement::paint):
    * html/shadow/TextControlInnerElements.cpp:
    (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
    * page/Frame.cpp:
    (WebCore::Frame::nodeImage):
    * page/FrameView.cpp:
    (WebCore::FrameView::repaintContentRectangle):
    (WebCore::FrameView::doDeferredRepaints):
    (WebCore::FrameView::windowClipRectForLayer):
    * platform/graphics/GraphicsLayer.cpp:
    (WebCore::GraphicsLayer::paintGraphicsLayerContents):
    * rendering/InlineFlowBox.cpp:
    (WebCore::InlineFlowBox::paint):
    * rendering/LayoutTypes.h:
    (WebCore::pixelSnappedIntRect):
    (WebCore):
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::paintColumnContents):
    (WebCore::RenderBlock::selectionGaps):
    * rendering/RenderBox.cpp:
    (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):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9b486cd2