Skip to content
  • eae@chromium.org's avatar
    [Sub pixel layout] Change RenderBox to not round logicalTop/Left for RenderReplaced · bdd263b7
    eae@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=99108
    
    Reviewed by Levi Weintraub.
    
    Source/WebCore: 
    
    Change RenderBox::computePositionedLogicalHeightReplaced and
    computePositionedLogicalWidthReplaced to not round position.
    
    Covered by existing tests.
    
    * rendering/InlineFlowBox.cpp:
    (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
    Floor baselinePosition for replaced elements to match logic in
    RootInlineBox::ascentAndDescentForBox where the ascent is
    computed from the floored baselinePosition.
            
    * rendering/RenderBox.cpp:
    (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
    (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
    Remove .round() call for m_position, preserving precision.
    
    LayoutTests: 
    
    Update tests expectations to reflect more correct rounding behavior.
    Specifically many images and other replaced content is no longer rendered at y -1.
    
    * platform/chromium-linux/css2.1/t090501-c414-flt-03-b-g-expected.txt:
    * platform/chromium-linux/css3/flexbox/flexbox-baseline-expected.png:
    * platform/chromium-linux/fast/dom/HTMLProgressElement/progress-element-expected.png:
    * platform/chromium-linux/fast/forms/007-expected.png:
    * platform/chromium-linux/fast/forms/basic-buttons-expected.png:
    * platform/chromium-linux/fast/forms/basic-buttons-expected.txt:
    * platform/chromium-linux/fast/forms/input-baseline-expected.txt:
    * platform/chromium-linux/fast/forms/input-placeholder-paint-order-expected.png:
    * platform/chromium-linux/fast/forms/search-vertical-alignment-expected.png:
    * platform/chromium-linux/fast/forms/searchfield-heights-expected.png:
    * platform/chromium-linux/fast/forms/searchfield-heights-expected.txt:
    * platform/chromium-linux/fast/html/details-add-child-1-expected.png:
    * platform/chromium-linux/fast/html/details-add-child-2-expected.png:
    * platform/chromium-linux/fast/html/details-add-details-child-1-expected.png:
    * platform/chromium-linux/fast/html/details-add-details-child-2-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-1-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-1-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-10-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-10-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-2-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-2-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-3-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-3-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-4-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-4-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-5-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-5-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-6-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-6-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-7-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-7-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-8-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-8-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-9-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-9-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-child-1-expected.png:
    * platform/chromium-linux/fast/html/details-add-summary-child-2-expected.png:
    * platform/chromium-linux/fast/html/details-marker-style-expected.png:
    * platform/chromium-linux/fast/html/details-nested-1-expected.png:
    * platform/chromium-linux/fast/html/details-nested-2-expected.png:
    * platform/chromium-linux/fast/html/details-no-summary1-expected.png:
    * platform/chromium-linux/fast/html/details-no-summary2-expected.png:
    * platform/chromium-linux/fast/html/details-no-summary3-expected.png:
    * platform/chromium-linux/fast/html/details-no-summary4-expected.png:
    * platform/chromium-linux/fast/html/details-open-javascript-expected.png:
    * platform/chromium-linux/fast/html/details-open1-expected.png:
    * platform/chromium-linux/fast/html/details-open2-expected.png:
    * platform/chromium-linux/fast/html/details-open3-expected.png:
    * platform/chromium-linux/fast/html/details-open4-expected.png:
    * platform/chromium-linux/fast/html/details-open5-expected.png:
    * platform/chromium-linux/fast/html/details-open6-expected.png:
    * platform/chromium-linux/fast/html/details-position-expected.png:
    * platform/chromium-linux/fast/html/details-remove-child-1-expected.png:
    * platform/chromium-linux/fast/html/details-remove-child-2-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-1-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-1-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-2-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-2-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-3-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-3-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-4-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-4-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-5-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-5-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-6-and-click-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-6-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-child-1-expected.png:
    * platform/chromium-linux/fast/html/details-remove-summary-child-2-expected.png:
    * platform/chromium-linux/fast/html/details-replace-summary-child-expected.png:
    * platform/chromium-linux/fast/html/details-replace-summary-child-expected.txt:
    * platform/chromium-linux/fast/html/details-replace-text-expected.png:
    * platform/chromium-linux/fast/html/details-replace-text-expected.txt:
    * platform/chromium-linux/fast/html/details-writing-mode-expected.png:
    * platform/chromium-linux/fast/images/imagemap-focus-ring-zoom-expected.png:
    * platform/chromium-linux/fast/repaint/reflection-repaint-test-expected.png:
    * platform/chromium-linux/fast/repaint/repaint-during-scroll-with-zoom-expected.png:
    * platform/chromium-linux/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
    * platform/chromium-linux/fast/repaint/transform-layout-repaint-expected.png:
    * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.png:
    * platform/chromium-linux/fast/speech/input-appearance-searchandspeech-expected.txt:
    * platform/chromium-linux/fast/writing-mode/fieldsets-expected.png:
    * platform/chromium-linux/svg/as-border-image/svg-as-border-image-2-expected.png:
    * platform/chromium-linux/svg/as-border-image/svg-as-border-image-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-background-images-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-hixie-mixed-009-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
    * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
    * platform/chromium-win/compositing/shadows/shadow-drawing-expected.txt:
    * platform/chromium-win/css2.1/t0804-c5509-padn-l-03-f-g-expected.txt:
    * platform/chromium-win/css3/flexbox/flexbox-baseline-expected.txt:
    * platform/chromium-win/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png:
    * platform/chromium-win/fast/box-sizing/box-sizing-expected.txt:
    * platform/chromium-win/fast/forms/007-expected.txt:
    * platform/chromium-win/fast/forms/placeholder-position-expected.txt:
    * platform/chromium-win/fast/forms/search-vertical-alignment-expected.txt:
    * platform/chromium-win/fast/html/details-add-child-1-expected.txt:
    * platform/chromium-win/fast/html/details-add-child-2-expected.txt:
    * platform/chromium-win/fast/html/details-add-details-child-1-expected.txt:
    * platform/chromium-win/fast/html/details-add-details-child-2-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-1-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-1-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-10-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-10-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-2-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-2-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-3-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-3-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-4-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-4-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-5-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-5-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-6-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-6-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-7-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-7-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-8-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-8-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-9-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-9-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-child-1-expected.txt:
    * platform/chromium-win/fast/html/details-add-summary-child-2-expected.txt:
    * platform/chromium-win/fast/html/details-marker-style-expected.txt:
    * platform/chromium-win/fast/html/details-nested-1-expected.txt:
    * platform/chromium-win/fast/html/details-nested-2-expected.txt:
    * platform/chromium-win/fast/html/details-no-summary1-expected.txt:
    * platform/chromium-win/fast/html/details-no-summary2-expected.txt:
    * platform/chromium-win/fast/html/details-no-summary3-expected.txt:
    * platform/chromium-win/fast/html/details-no-summary4-expected.txt:
    * platform/chromium-win/fast/html/details-open-javascript-expected.txt:
    * platform/chromium-win/fast/html/details-open1-expected.txt:
    * platform/chromium-win/fast/html/details-open2-expected.txt:
    * platform/chromium-win/fast/html/details-open3-expected.txt:
    * platform/chromium-win/fast/html/details-open4-expected.txt:
    * platform/chromium-win/fast/html/details-open5-expected.txt:
    * platform/chromium-win/fast/html/details-open6-expected.txt:
    * platform/chromium-win/fast/html/details-position-expected.txt:
    * platform/chromium-win/fast/html/details-remove-child-1-expected.txt:
    * platform/chromium-win/fast/html/details-remove-child-2-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-1-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-1-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-2-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-2-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-3-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-3-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-4-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-4-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-5-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-5-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-6-and-click-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-6-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-child-1-expected.txt:
    * platform/chromium-win/fast/html/details-remove-summary-child-2-expected.txt:
    * platform/chromium-win/fast/html/details-writing-mode-expected.txt:
    * platform/chromium-win/fast/images/imagemap-focus-ring-zoom-expected.txt:
    * platform/chromium-win/fast/inline-block/contenteditable-baseline-expected.txt:
    * platform/chromium-win/fast/writing-mode/fieldsets-expected.txt:
    * platform/chromium-win/media/media-document-audio-repaint-expected.txt:
    * platform/chromium-win/svg/as-border-image/svg-as-border-image-2-expected.txt:
    * platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.txt:
    * platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
    * platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
    * platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png:
    * platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-hixie-mixed-009-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt:
    * platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
    * platform/chromium-win/tables/mozilla/bugs/bug30692-expected.txt:
    * platform/chromium/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bdd263b7