Changeset 132112 in webkit


Ignore:
Timestamp:
Oct 22, 2012 11:38:29 AM (12 years ago)
Author:
eae@chromium.org
Message:

Source/WebCore: Change baselinePosition and maxAscent/maxDescent to int
https://bugs.webkit.org/show_bug.cgi?id=99767

Reviewed by Levi Weintraub.

Currently baselinePostion, maxAscent and maxDescent are
LayoutUnits while ascent, descent and m_lineHeight are ints.
This can lead to subtle alignment and rounding problems.

Change baselinePosition and maxAscent/maxDescent to int to avoid
these issues.

Test: fast/sub-pixel/replaced-element-baseline.html

  • editing/FrameSelection.cpp:

(WebCore::repaintRectForCaret):
Inflate Y dimension just like we do for X to ensure that the
repaint rect fully contains the caret.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::baselinePosition):

  • rendering/InlineBox.h:

(InlineBox):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
Change maxAscent/maxDescent to int to match ascent/descent.

  • rendering/InlineFlowBox.h:

(InlineFlowBox):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::baselinePosition):

  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::baselinePosition):

  • rendering/RenderBox.h:

(WebCore::RenderBox::firstLineBoxBaseline):
(WebCore::RenderBox::lastLineBoxBaseline):
(RenderBox):

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::baselinePosition):
(WebCore::RenderFlexibleBox::firstLineBoxBaseline):

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::baselinePosition):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::baselinePosition):

  • rendering/RenderListBox.h:

(RenderListBox):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::baselinePosition):

  • rendering/RenderListMarker.h:

(RenderListMarker):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::baselinePosition):

  • rendering/RenderSlider.h:

(RenderSlider):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::baselinePosition):
(WebCore::RenderTable::lastLineBoxBaseline):
(WebCore::RenderTable::firstLineBoxBaseline):

  • rendering/RenderTable.h:

(RenderTable):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::firstLineBoxBaseline):

  • rendering/RenderTableSection.h:

(RenderTableSection):

  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::baselinePosition):

  • rendering/RenderTextControlMultiLine.h:

(RenderTextControlMultiLine):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::baselinePosition):

  • rendering/RenderTheme.h:

(RenderTheme):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::baselinePosition):

  • rendering/RenderThemeSafari.h:

(RenderThemeSafari):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::baselinePosition):
(WebCore::RootInlineBox::alignBoxesInBlockDirection):

  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::baselinePosition):
(WebCore::RenderMathMLTable::firstLineBoxBaseline):

  • rendering/mathml/RenderMathMLBlock.h:

(RenderMathMLBlock):
(RenderMathMLTable):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::firstLineBoxBaseline):

  • rendering/mathml/RenderMathMLFraction.h:

(RenderMathMLFraction):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::firstLineBoxBaseline):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):

  • rendering/mathml/RenderMathMLUnderOver.h:

(RenderMathMLUnderOver):

LayoutTests: Unreviewed, further Apple Mac baselines for shadow DOM changes to RenderSlider.

Patch by Jer Noble <jer.noble@apple.com> on 2012-10-22

  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
Location:
trunk
Files:
2 added
51 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r132111 r132112  
    55        * platform/mac/fast/forms/input-appearance-height-expected.txt:
    66        * platform/mac/media/controls-without-preload-expected.txt:
     7
     82012-10-22  Emil A Eklund  <eae@chromium.org>
     9
     10        Change baselinePosition and maxAscent/maxDescent to int
     11        https://bugs.webkit.org/show_bug.cgi?id=99767
     12
     13        Reviewed by Levi Weintraub.
     14       
     15        Add test for alignment of replaced elements. Update existing
     16        tests to account for rounding differences in alignment.
     17
     18        * fast/sub-pixel/replaced-element-baseline-expected.txt: Added.
     19        * fast/sub-pixel/replaced-element-baseline.html: Added.
     20        * platform/chromium-linux/css1/text_properties/vertical_align-expected.png:
     21        * platform/chromium-linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
     22        * platform/chromium-linux/fast/inline/vertical-align-text-bottom-expected.png:
     23        * platform/chromium-linux/fast/multicol/table-vertical-align-expected.txt:
     24        * platform/chromium-linux/fast/repaint/4774354-expected.png:
     25        * platform/chromium-linux/fast/repaint/4776765-expected.png:
     26        * platform/chromium-linux/fast/repaint/caret-outside-block-expected.png:
     27        * platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
     28        * platform/chromium-linux/fast/repaint/selection-rl-expected.png:
     29        * platform/chromium-linux/tables/mozilla/bugs/bug14323-expected.png:
     30        * platform/chromium-linux/tables/mozilla/bugs/bug43854-2-expected.png:
     31        * platform/chromium-linux/tables/mozilla/bugs/bug4427-expected.png:
     32        * platform/chromium-linux/tables/mozilla/bugs/bug6404-expected.png:
     33        * platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug1647-expected.png:
     34        * platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug56024-expected.png:
     35        * platform/chromium-win/css1/text_properties/vertical_align-expected.txt:
     36        * platform/chromium-win/fast/css/acid2-expected.txt:
     37        * platform/chromium-win/fast/css/acid2-pixel-expected.txt:
     38        * platform/chromium-win/fast/inline/002-expected.txt:
     39        * platform/chromium-win/fast/inline/vertical-align-text-bottom-expected.txt:
     40        * platform/chromium-win/http/tests/misc/acid2-expected.txt:
     41        * platform/chromium-win/http/tests/misc/acid2-pixel-expected.txt:
     42        * platform/chromium-win/svg/transforms/svg-css-transforms-clip-path-expected.txt:
     43        * platform/chromium-win/svg/transforms/svg-css-transforms-expected.txt:
     44        * platform/chromium-win/tables/mozilla/bugs/bug14323-expected.txt:
     45        * platform/chromium-win/tables/mozilla/bugs/bug43854-2-expected.txt:
     46        * platform/chromium-win/tables/mozilla/bugs/bug4427-expected.txt:
     47        * platform/chromium-win/tables/mozilla/bugs/bug6404-expected.txt:
     48        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
     49        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
     50        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
     51        * platform/chromium-win/transforms/svg-vs-css-expected.txt:
    752
    8532012-10-22  Emil A Eklund  <eae@chromium.org>
  • trunk/LayoutTests/platform/chromium/TestExpectations

    r132106 r132112  
    13261326# Many WIN and Linux SVG tests containing text are flaky. It seems different fonts are used at different times.
    13271327webkit.org/b/83303 [ Android Linux Win ] svg/zoom/text/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
    1328 webkit.org/b/83303 [ Android Linux Win ] svg/zoom/page/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
     1328#webkit.org/b/83303 [ Android Linux Win ] svg/zoom/page/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
    13291329webkit.org/b/83303 [ Android Linux ] svg/hixie/mixed/009.xml [ ImageOnlyFailure Pass ]
    13301330webkit.org/b/83306 [ Win ] svg/hixie/mixed/009.xml [ ImageOnlyFailure ]
     
    40904090Bug(dpranke) [ Win ] webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html [ Failure ]
    40914091
     4092# Needs rebaseline once the bots cycle.
     4093webkit.org/b/99767 css1/text_properties/vertical_align.html [ Failure ImageOnlyFailure Pass ]
     4094webkit.org/b/99767 css3/flexbox/flexbox-baseline.html [ Failure ImageOnlyFailure Pass ]
     4095webkit.org/b/99767 fast/block/positioning/replaced-inside-fixed-top-bottom.html [ Failure ImageOnlyFailure Pass ]
     4096webkit.org/b/99767 fast/forms/007.html [ Failure ImageOnlyFailure Pass ]
     4097webkit.org/b/99767 fast/forms/basic-buttons.html [ Failure ImageOnlyFailure Pass ]
     4098webkit.org/b/99767 fast/forms/search-vertical-alignment.html [ Failure ImageOnlyFailure Pass ]
     4099webkit.org/b/99767 fast/forms/searchfield-heights.html [ Failure ImageOnlyFailure Pass ]
     4100webkit.org/b/99767 fast/html/details-add-child-1.html [ Failure ImageOnlyFailure Pass ]
     4101webkit.org/b/99767 fast/html/details-add-child-2.html [ Failure ImageOnlyFailure Pass ]
     4102webkit.org/b/99767 fast/html/details-add-details-child-1.html [ Failure ImageOnlyFailure Pass ]
     4103webkit.org/b/99767 fast/html/details-add-details-child-2.html [ Failure ImageOnlyFailure Pass ]
     4104webkit.org/b/99767 fast/html/details-add-summary-1-and-click.html [ Failure ImageOnlyFailure Pass ]
     4105webkit.org/b/99767 fast/html/details-add-summary-1.html [ Failure ImageOnlyFailure Pass ]
     4106webkit.org/b/99767 fast/html/details-add-summary-10-and-click.html [ Failure ImageOnlyFailure Pass ]
     4107webkit.org/b/99767 fast/html/details-add-summary-10.html [ Failure ImageOnlyFailure Pass ]
     4108webkit.org/b/99767 fast/html/details-add-summary-2-and-click.html [ Failure ImageOnlyFailure Pass ]
     4109webkit.org/b/99767 fast/html/details-add-summary-2.html [ Failure ImageOnlyFailure Pass ]
     4110webkit.org/b/99767 fast/html/details-add-summary-3-and-click.html [ Failure ImageOnlyFailure Pass ]
     4111webkit.org/b/99767 fast/html/details-add-summary-3.html [ Failure ImageOnlyFailure Pass ]
     4112webkit.org/b/99767 fast/html/details-add-summary-4-and-click.html [ Failure ImageOnlyFailure Pass ]
     4113webkit.org/b/99767 fast/html/details-add-summary-4.html [ Failure ImageOnlyFailure Pass ]
     4114webkit.org/b/99767 fast/html/details-add-summary-5-and-click.html [ Failure ImageOnlyFailure Pass ]
     4115webkit.org/b/99767 fast/html/details-add-summary-5.html [ Failure ImageOnlyFailure Pass ]
     4116webkit.org/b/99767 fast/html/details-add-summary-6-and-click.html [ Failure ImageOnlyFailure Pass ]
     4117webkit.org/b/99767 fast/html/details-add-summary-6.html [ Failure ImageOnlyFailure Pass ]
     4118webkit.org/b/99767 fast/html/details-add-summary-7-and-click.html [ Failure ImageOnlyFailure Pass ]
     4119webkit.org/b/99767 fast/html/details-add-summary-7.html [ Failure ImageOnlyFailure Pass ]
     4120webkit.org/b/99767 fast/html/details-add-summary-8-and-click.html [ Failure ImageOnlyFailure Pass ]
     4121webkit.org/b/99767 fast/html/details-add-summary-8.html [ Failure ImageOnlyFailure Pass ]
     4122webkit.org/b/99767 fast/html/details-add-summary-9-and-click.html [ Failure ImageOnlyFailure Pass ]
     4123webkit.org/b/99767 fast/html/details-add-summary-9.html [ Failure ImageOnlyFailure Pass ]
     4124webkit.org/b/99767 fast/html/details-add-summary-child-1.html [ Failure ImageOnlyFailure Pass ]
     4125webkit.org/b/99767 fast/html/details-add-summary-child-2.html [ Failure ImageOnlyFailure Pass ]
     4126webkit.org/b/99767 fast/html/details-marker-style.html [ Failure ImageOnlyFailure Pass ]
     4127webkit.org/b/99767 fast/html/details-nested-1.html [ Failure ImageOnlyFailure Pass ]
     4128webkit.org/b/99767 fast/html/details-nested-2.html [ Failure ImageOnlyFailure Pass ]
     4129webkit.org/b/99767 fast/html/details-no-summary1.html [ Failure ImageOnlyFailure Pass ]
     4130webkit.org/b/99767 fast/html/details-no-summary2.html [ Failure ImageOnlyFailure Pass ]
     4131webkit.org/b/99767 fast/html/details-no-summary3.html [ Failure ImageOnlyFailure Pass ]
     4132webkit.org/b/99767 fast/html/details-no-summary4.html [ Failure ImageOnlyFailure Pass ]
     4133webkit.org/b/99767 fast/html/details-open-javascript.html [ Failure ImageOnlyFailure Pass ]
     4134webkit.org/b/99767 fast/html/details-open1.html [ Failure ImageOnlyFailure Pass ]
     4135webkit.org/b/99767 fast/html/details-open2.html [ Failure ImageOnlyFailure Pass ]
     4136webkit.org/b/99767 fast/html/details-open3.html [ Failure ImageOnlyFailure Pass ]
     4137webkit.org/b/99767 fast/html/details-open4.html [ Failure ImageOnlyFailure Pass ]
     4138webkit.org/b/99767 fast/html/details-open5.html [ Failure ImageOnlyFailure Pass ]
     4139webkit.org/b/99767 fast/html/details-open6.html [ Failure ImageOnlyFailure Pass ]
     4140webkit.org/b/99767 fast/html/details-position.html [ Failure ImageOnlyFailure Pass ]
     4141webkit.org/b/99767 fast/html/details-remove-child-1.html [ Failure ImageOnlyFailure Pass ]
     4142webkit.org/b/99767 fast/html/details-remove-child-2.html [ Failure ImageOnlyFailure Pass ]
     4143webkit.org/b/99767 fast/html/details-remove-summary-1-and-click.html [ Failure ImageOnlyFailure Pass ]
     4144webkit.org/b/99767 fast/html/details-remove-summary-1.html [ Failure ImageOnlyFailure Pass ]
     4145webkit.org/b/99767 fast/html/details-remove-summary-2-and-click.html [ Failure ImageOnlyFailure Pass ]
     4146webkit.org/b/99767 fast/html/details-remove-summary-2.html [ Failure ImageOnlyFailure Pass ]
     4147webkit.org/b/99767 fast/html/details-remove-summary-3-and-click.html [ Failure ImageOnlyFailure Pass ]
     4148webkit.org/b/99767 fast/html/details-remove-summary-3.html [ Failure ImageOnlyFailure Pass ]
     4149webkit.org/b/99767 fast/html/details-remove-summary-4-and-click.html [ Failure ImageOnlyFailure Pass ]
     4150webkit.org/b/99767 fast/html/details-remove-summary-4.html [ Failure ImageOnlyFailure Pass ]
     4151webkit.org/b/99767 fast/html/details-remove-summary-5-and-click.html [ Failure ImageOnlyFailure Pass ]
     4152webkit.org/b/99767 fast/html/details-remove-summary-5.html [ Failure ImageOnlyFailure Pass ]
     4153webkit.org/b/99767 fast/html/details-remove-summary-6-and-click.html [ Failure ImageOnlyFailure Pass ]
     4154webkit.org/b/99767 fast/html/details-remove-summary-6.html [ Failure ImageOnlyFailure Pass ]
     4155webkit.org/b/99767 fast/html/details-remove-summary-child-1.html [ Failure ImageOnlyFailure Pass ]
     4156webkit.org/b/99767 fast/html/details-remove-summary-child-2.html [ Failure ImageOnlyFailure Pass ]
     4157webkit.org/b/99767 fast/html/details-replace-summary-child.html [ Failure ImageOnlyFailure Pass ]
     4158webkit.org/b/99767 fast/html/details-replace-text.html [ Failure ImageOnlyFailure Pass ]
     4159webkit.org/b/99767 fast/html/details-writing-mode.html [ Failure ImageOnlyFailure Pass ]
     4160webkit.org/b/99767 fast/images/imagemap-focus-ring-zoom.html [ Failure ImageOnlyFailure Pass ]
     4161webkit.org/b/99767 fast/inline/vertical-align-text-bottom.html [ Failure ImageOnlyFailure Pass ]
     4162webkit.org/b/99767 fast/speech/input-appearance-searchandspeech.html [ Failure ImageOnlyFailure Pass ]
     4163webkit.org/b/99767 fast/writing-mode/fieldsets.html [ Failure ImageOnlyFailure Pass ]
     4164webkit.org/b/99767 platform/chromium/virtual/deferred/fast/images/imagemap-focus-ring-zoom.html [ Failure ImageOnlyFailure Pass ]
     4165webkit.org/b/99767 svg/as-border-image/svg-as-border-image-2.html [ Failure ImageOnlyFailure Pass ]
     4166webkit.org/b/99767 svg/as-border-image/svg-as-border-image.html [ Failure ImageOnlyFailure Pass ]
     4167webkit.org/b/99767 svg/zoom/page/zoom-hixie-mixed-009.xml [ Failure ImageOnlyFailure Pass ]
     4168webkit.org/b/99767 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ImageOnlyFailure Pass ]
     4169webkit.org/b/99767 svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm [ Failure ImageOnlyFailure Pass ]
     4170webkit.org/b/99767 svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml [ Failure ImageOnlyFailure Pass ]
     4171webkit.org/b/99767 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure ImageOnlyFailure Pass ]
     4172webkit.org/b/99767 svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml [ Failure ImageOnlyFailure Pass ]
     4173webkit.org/b/99767 svg/zoom/page/zoom-svg-through-object-with-override-size.html [ Failure ImageOnlyFailure Pass ]
     4174webkit.org/b/99767 svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml [ Failure ImageOnlyFailure Pass ]
     4175webkit.org/b/99767 tables/mozilla/bugs/bug14323.html [ Failure ImageOnlyFailure Pass ]
     4176webkit.org/b/99767 tables/mozilla/bugs/bug43854-2.html [ Failure ImageOnlyFailure Pass ]
     4177webkit.org/b/99767 tables/mozilla/bugs/bug4427.html [ Failure ImageOnlyFailure Pass ]
     4178webkit.org/b/99767 tables/mozilla/bugs/bug6404.html [ Failure ImageOnlyFailure Pass ]
     4179webkit.org/b/99767 tables/mozilla_expected_failures/bugs/bug1647.html [ Failure ImageOnlyFailure Pass ]
     4180webkit.org/b/99767 tables/mozilla_expected_failures/bugs/bug56024.html [ Failure ImageOnlyFailure Pass ]
     4181webkit.org/b/99767 fast/dom/HTMLProgressElement/progress-element.html [ Failure ImageOnlyFailure Pass ]
     4182webkit.org/b/99767 fast/forms/datalist/input-appearance-range-with-datalist-zoomed.html [ Failure ImageOnlyFailure Pass ]
     4183webkit.org/b/99767 fast/forms/input-placeholder-paint-order.html [ Failure ImageOnlyFailure Pass ]
     4184webkit.org/b/99767 fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html [ Failure ImageOnlyFailure Pass ]
     4185webkit.org/b/99767 fast/repaint/4774354.html [ Failure ImageOnlyFailure Pass ]
     4186webkit.org/b/99767 fast/repaint/4776765.html [ Failure ImageOnlyFailure Pass ]
     4187webkit.org/b/99767 fast/repaint/caret-outside-block.html [ Failure ImageOnlyFailure Pass ]
     4188webkit.org/b/99767 fast/repaint/repaint-across-writing-mode-boundary.html [ Failure ImageOnlyFailure Pass ]
     4189webkit.org/b/99767 fast/repaint/selection-rl.html [ Failure ImageOnlyFailure Pass ]
     4190webkit.org/b/99767 svg/zoom/page/zoom-background-images.html [ Failure ImageOnlyFailure Pass ]
     4191webkit.org/b/99767 compositing/shadows/shadow-drawing.html [ Failure ImageOnlyFailure Pass ]
     4192webkit.org/b/99767 css2.1/t0804-c5509-padn-l-03-f-g.html [ Failure ImageOnlyFailure Pass ]
     4193webkit.org/b/99767 css2.1/t090501-c414-flt-03-b-g.html [ Failure ImageOnlyFailure Pass ]
     4194webkit.org/b/99767 fast/css/acid2-pixel.html [ Failure ImageOnlyFailure Pass ]
     4195webkit.org/b/99767 fast/css/acid2.html [ Failure ImageOnlyFailure Pass ]
     4196webkit.org/b/99767 fast/forms/input-baseline.html [ Failure ImageOnlyFailure Pass ]
     4197webkit.org/b/99767 fast/forms/placeholder-position.html [ Failure ImageOnlyFailure Pass ]
     4198webkit.org/b/99767 fast/inline-block/contenteditable-baseline.html [ Failure ImageOnlyFailure Pass ]
     4199webkit.org/b/99767 fast/inline/002.html [ Failure ImageOnlyFailure Pass ]
     4200webkit.org/b/99767 fast/multicol/table-vertical-align.html [ Failure ImageOnlyFailure Pass ]
     4201webkit.org/b/99767 http/tests/misc/acid2-pixel.html [ Failure ImageOnlyFailure Pass ]
     4202webkit.org/b/99767 http/tests/misc/acid2.html [ Failure ImageOnlyFailure Pass ]
     4203webkit.org/b/99767 platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing.html [ Failure ImageOnlyFailure Pass ]
     4204webkit.org/b/99767 svg/transforms/svg-css-transforms-clip-path.xhtml [ Failure ImageOnlyFailure Pass ]
     4205webkit.org/b/99767 svg/transforms/svg-css-transforms.xhtml [ Failure ImageOnlyFailure Pass ]
     4206webkit.org/b/99767 tables/mozilla/bugs/bug30692.html [ Failure ImageOnlyFailure Pass ]
     4207webkit.org/b/99767 tables/mozilla_expected_failures/bugs/bug131020-3.html [ Failure ImageOnlyFailure Pass ]
     4208webkit.org/b/99767 transforms/svg-vs-css.xhtml [ Failure ImageOnlyFailure Pass ]
     4209
    40924210webkit.org/b/99869 [ Lion ] fast/sub-pixel/file-upload-control-at-fractional-offset.html [ Failure ]
  • trunk/Source/WebCore/ChangeLog

    r132105 r132112  
     12012-10-22  Emil A Eklund  <eae@chromium.org>
     2
     3        Change baselinePosition and maxAscent/maxDescent to int
     4        https://bugs.webkit.org/show_bug.cgi?id=99767
     5
     6        Reviewed by Levi Weintraub.
     7
     8        Currently baselinePostion, maxAscent and maxDescent are
     9        LayoutUnits while ascent, descent and m_lineHeight are ints.
     10        This can lead to subtle alignment and rounding problems.
     11
     12        Change baselinePosition and maxAscent/maxDescent to int to avoid
     13        these issues.
     14
     15        Test: fast/sub-pixel/replaced-element-baseline.html
     16
     17        * editing/FrameSelection.cpp:
     18        (WebCore::repaintRectForCaret):
     19        Inflate Y dimension just like we do for X to ensure that the
     20        repaint rect fully contains the caret.
     21
     22        * rendering/InlineBox.cpp:
     23        (WebCore::InlineBox::baselinePosition):
     24        * rendering/InlineBox.h:
     25        (InlineBox):
     26        * rendering/InlineFlowBox.cpp:
     27        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
     28        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
     29        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
     30        Change maxAscent/maxDescent to int to match ascent/descent.
     31       
     32        * rendering/InlineFlowBox.h:
     33        (InlineFlowBox):
     34        * rendering/InlineTextBox.cpp:
     35        (WebCore::InlineTextBox::baselinePosition):
     36        * rendering/InlineTextBox.h:
     37        (InlineTextBox):
     38        * rendering/RenderBlock.cpp:
     39        (WebCore::RenderBlock::baselinePosition):
     40        (WebCore::RenderBlock::firstLineBoxBaseline):
     41        (WebCore::RenderBlock::lastLineBoxBaseline):
     42        * rendering/RenderBlock.h:
     43        (RenderBlock):
     44        * rendering/RenderBox.cpp:
     45        (WebCore::RenderBox::baselinePosition):
     46        * rendering/RenderBox.h:
     47        (WebCore::RenderBox::firstLineBoxBaseline):
     48        (WebCore::RenderBox::lastLineBoxBaseline):
     49        (RenderBox):
     50        * rendering/RenderBoxModelObject.h:
     51        (RenderBoxModelObject):
     52        * rendering/RenderFlexibleBox.cpp:
     53        (WebCore::RenderFlexibleBox::baselinePosition):
     54        (WebCore::RenderFlexibleBox::firstLineBoxBaseline):
     55        * rendering/RenderFlexibleBox.h:
     56        * rendering/RenderInline.cpp:
     57        (WebCore::RenderInline::baselinePosition):
     58        * rendering/RenderInline.h:
     59        (RenderInline):
     60        * rendering/RenderListBox.cpp:
     61        (WebCore::RenderListBox::baselinePosition):
     62        * rendering/RenderListBox.h:
     63        (RenderListBox):
     64        * rendering/RenderListMarker.cpp:
     65        (WebCore::RenderListMarker::baselinePosition):
     66        * rendering/RenderListMarker.h:
     67        (RenderListMarker):
     68        * rendering/RenderSlider.cpp:
     69        (WebCore::RenderSlider::baselinePosition):
     70        * rendering/RenderSlider.h:
     71        (RenderSlider):
     72        * rendering/RenderTable.cpp:
     73        (WebCore::RenderTable::baselinePosition):
     74        (WebCore::RenderTable::lastLineBoxBaseline):
     75        (WebCore::RenderTable::firstLineBoxBaseline):
     76        * rendering/RenderTable.h:
     77        (RenderTable):
     78        * rendering/RenderTableSection.cpp:
     79        (WebCore::RenderTableSection::firstLineBoxBaseline):
     80        * rendering/RenderTableSection.h:
     81        (RenderTableSection):
     82        * rendering/RenderTextControlMultiLine.cpp:
     83        (WebCore::RenderTextControlMultiLine::baselinePosition):
     84        * rendering/RenderTextControlMultiLine.h:
     85        (RenderTextControlMultiLine):
     86        * rendering/RenderTheme.cpp:
     87        (WebCore::RenderTheme::baselinePosition):
     88        * rendering/RenderTheme.h:
     89        (RenderTheme):
     90        * rendering/RenderThemeSafari.cpp:
     91        (WebCore::RenderThemeSafari::baselinePosition):
     92        * rendering/RenderThemeSafari.h:
     93        (RenderThemeSafari):
     94        * rendering/RootInlineBox.cpp:
     95        (WebCore::RootInlineBox::baselinePosition):
     96        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
     97        * rendering/RootInlineBox.h:
     98        (RootInlineBox):
     99        * rendering/mathml/RenderMathMLBlock.cpp:
     100        (WebCore::RenderMathMLBlock::baselinePosition):
     101        (WebCore::RenderMathMLTable::firstLineBoxBaseline):
     102        * rendering/mathml/RenderMathMLBlock.h:
     103        (RenderMathMLBlock):
     104        (RenderMathMLTable):
     105        * rendering/mathml/RenderMathMLFraction.cpp:
     106        (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
     107        * rendering/mathml/RenderMathMLFraction.h:
     108        (RenderMathMLFraction):
     109        * rendering/mathml/RenderMathMLOperator.cpp:
     110        (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
     111        * rendering/mathml/RenderMathMLOperator.h:
     112        * rendering/mathml/RenderMathMLUnderOver.cpp:
     113        (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
     114        * rendering/mathml/RenderMathMLUnderOver.h:
     115        (RenderMathMLUnderOver):
     116
    11172012-10-22  Emil A Eklund  <eae@chromium.org>
    2118
  • trunk/Source/WebCore/editing/FrameSelection.cpp

    r131111 r132112  
    12811281    // the caret itself is just outside the block. See <https://bugs.webkit.org/show_bug.cgi?id=19086>.
    12821282    caret.inflateX(1);
     1283    caret.inflateY(1);
    12831284    return caret;
    12841285}
  • trunk/Source/WebCore/platform/efl/RenderThemeEfl.cpp

    r131337 r132112  
    644644}
    645645
    646 LayoutUnit RenderThemeEfl::baselinePosition(const RenderObject* object) const
     646int RenderThemeEfl::baselinePosition(const RenderObject* object) const
    647647{
    648648    if (!object->isBox())
  • trunk/Source/WebCore/platform/efl/RenderThemeEfl.h

    r129687 r132112  
    9999    // position cannot be determined by examining child content. Checkboxes and radio buttons are examples of
    100100    // controls that need to do this.
    101     virtual LayoutUnit baselinePosition(const RenderObject*) const;
     101    virtual int baselinePosition(const RenderObject*) const;
    102102
    103103    virtual Color platformActiveSelectionBackgroundColor() const;
  • trunk/Source/WebCore/platform/gtk/RenderThemeGtk.cpp

    r126359 r132112  
    166166}
    167167
    168 LayoutUnit RenderThemeGtk::baselinePosition(const RenderObject* o) const
     168int RenderThemeGtk::baselinePosition(const RenderObject* o) const
    169169{
    170170    if (!o->isBox())
  • trunk/Source/WebCore/platform/gtk/RenderThemeGtk.h

    r123319 r132112  
    6161    // position cannot be determined by examining child content. Checkboxes and radio buttons are examples of
    6262    // controls that need to do this.
    63     virtual LayoutUnit baselinePosition(const RenderObject*) const;
     63    virtual int baselinePosition(const RenderObject*) const;
    6464
    6565    // The platform selection color.
  • trunk/Source/WebCore/platform/qt/RenderThemeQt.cpp

    r129647 r132112  
    178178}
    179179
    180 LayoutUnit RenderThemeQt::baselinePosition(const RenderObject* o) const
     180int RenderThemeQt::baselinePosition(const RenderObject* o) const
    181181{
    182182    if (!o->isBox())
  • trunk/Source/WebCore/platform/qt/RenderThemeQt.h

    r123353 r132112  
    5959    virtual bool supportsFocusRing(const RenderStyle*) const;
    6060
    61     virtual LayoutUnit baselinePosition(const RenderObject*) const;
     61    virtual int baselinePosition(const RenderObject*) const;
    6262
    6363    // A method asking if the control changes its tint when the window has focus or not.
  • trunk/Source/WebCore/rendering/InlineBox.cpp

    r127145 r132112  
    160160}
    161161
    162 LayoutUnit InlineBox::baselinePosition(FontBaseline baselineType) const
     162int InlineBox::baselinePosition(FontBaseline baselineType) const
    163163{
    164164    return boxModelObject()->baselinePosition(baselineType, m_bitfields.firstLine(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
  • trunk/Source/WebCore/rendering/InlineBox.h

    r129186 r132112  
    247247    FloatRect logicalFrameRect() const { return isHorizontal() ? FloatRect(m_topLeft.x(), m_topLeft.y(), m_logicalWidth, logicalHeight()) : FloatRect(m_topLeft.y(), m_topLeft.x(), m_logicalWidth, logicalHeight()); }
    248248
    249     virtual LayoutUnit baselinePosition(FontBaseline baselineType) const;
     249    virtual int baselinePosition(FontBaseline baselineType) const;
    250250    virtual LayoutUnit lineHeight() const;
    251251
  • trunk/Source/WebCore/rendering/InlineFlowBox.cpp

    r131503 r132112  
    476476}
    477477
    478 void InlineFlowBox::adjustMaxAscentAndDescent(LayoutUnit& maxAscent, LayoutUnit& maxDescent, LayoutUnit maxPositionTop, LayoutUnit maxPositionBottom)
     478void InlineFlowBox::adjustMaxAscentAndDescent(int& maxAscent, int& maxDescent, int maxPositionTop, int maxPositionBottom)
    479479{
    480480    for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) {
     
    484484            continue; // Positioned placeholders don't affect calculations.
    485485        if (curr->verticalAlign() == TOP || curr->verticalAlign() == BOTTOM) {
    486             LayoutUnit lineHeight = curr->lineHeight();
     486            int lineHeight = curr->lineHeight();
    487487            if (curr->verticalAlign() == TOP) {
    488488                if (maxAscent + maxDescent < lineHeight)
     
    504504
    505505void InlineFlowBox::computeLogicalBoxHeights(RootInlineBox* rootBox, LayoutUnit& maxPositionTop, LayoutUnit& maxPositionBottom,
    506                                              LayoutUnit& maxAscent, LayoutUnit& maxDescent, bool& setMaxAscent, bool& setMaxDescent,
     506                                             int& maxAscent, int& maxDescent, bool& setMaxAscent, bool& setMaxDescent,
    507507                                             bool strictMode, GlyphOverflowAndFallbackFontsMap& textBoxDataMap,
    508508                                             FontBaseline baselineType, VerticalPositionCache& verticalPositionCache)
     
    600600}
    601601
    602 void InlineFlowBox::placeBoxesInBlockDirection(LayoutUnit top, LayoutUnit maxHeight, LayoutUnit maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop,
     602void InlineFlowBox::placeBoxesInBlockDirection(LayoutUnit top, LayoutUnit maxHeight, int maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop,
    603603                                               LayoutUnit& lineTopIncludingMargins, LayoutUnit& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline baselineType)
    604604{
  • trunk/Source/WebCore/rendering/InlineFlowBox.h

    r126859 r132112  
    176176    float placeBoxesInInlineDirection(float logicalLeft, bool& needsWordSpacing, GlyphOverflowAndFallbackFontsMap&);
    177177    void computeLogicalBoxHeights(RootInlineBox*, LayoutUnit& maxPositionTop, LayoutUnit& maxPositionBottom,
    178                                   LayoutUnit& maxAscent, LayoutUnit& maxDescent, bool& setMaxAscent, bool& setMaxDescent,
     178                                  int& maxAscent, int& maxDescent, bool& setMaxAscent, bool& setMaxDescent,
    179179                                  bool strictMode, GlyphOverflowAndFallbackFontsMap&, FontBaseline, VerticalPositionCache&);
    180     void adjustMaxAscentAndDescent(LayoutUnit& maxAscent, LayoutUnit& maxDescent,
    181                                    LayoutUnit maxPositionTop, LayoutUnit maxPositionBottom);
    182     void placeBoxesInBlockDirection(LayoutUnit logicalTop, LayoutUnit maxHeight, LayoutUnit maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop,
     180    void adjustMaxAscentAndDescent(int& maxAscent, int& maxDescent,
     181                                   int maxPositionTop, int maxPositionBottom);
     182    void placeBoxesInBlockDirection(LayoutUnit logicalTop, LayoutUnit maxHeight, int maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop,
    183183                                    LayoutUnit& lineTopIncludingMargins, LayoutUnit& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline);
    184184    void flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lineBottom);
  • trunk/Source/WebCore/rendering/InlineTextBox.cpp

    r132076 r132112  
    8989}
    9090
    91 LayoutUnit InlineTextBox::baselinePosition(FontBaseline baselineType) const
     91int InlineTextBox::baselinePosition(FontBaseline baselineType) const
    9292{
    9393    if (!isText() || !parent())
  • trunk/Source/WebCore/rendering/InlineTextBox.h

    r132076 r132112  
    8686    static inline bool compareByStart(const InlineTextBox* first, const InlineTextBox* second) { return first->start() < second->start(); }
    8787
    88     virtual LayoutUnit baselinePosition(FontBaseline) const;
     88    virtual int baselinePosition(FontBaseline) const;
    8989    virtual LayoutUnit lineHeight() const;
    9090
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r132105 r132112  
    61836183}
    61846184
    6185 LayoutUnit RenderBlock::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     6185int RenderBlock::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    61866186{
    61876187    // Inline blocks are replaced elements. Otherwise, just pass off to
     
    62066206            : (layer()->horizontalScrollbar() || layer()->scrollXOffset() != 0)))) || (isWritingModeRoot() && !isRubyRun());
    62076207       
    6208         LayoutUnit baselinePos = ignoreBaseline ? static_cast<LayoutUnit>(-1) : inlineBlockBaseline(direction);
     6208        int baselinePos = ignoreBaseline ? -1 : inlineBlockBaseline(direction);
    62096209       
    62106210        LayoutUnit bottomOfContent = direction == HorizontalLine ? borderTop() + paddingTop() + contentHeight() : borderRight() + paddingRight() + contentWidth();
     
    62196219}
    62206220
    6221 LayoutUnit RenderBlock::firstLineBoxBaseline() const
     6221int RenderBlock::firstLineBoxBaseline() const
    62226222{
    62236223    if (!isBlockFlow() || (isWritingModeRoot() && !isRubyRun()))
     
    62336233        for (RenderBox* curr = firstChildBox(); curr; curr = curr->nextSiblingBox()) {
    62346234            if (!curr->isFloatingOrOutOfFlowPositioned()) {
    6235                 LayoutUnit result = curr->firstLineBoxBaseline();
     6235                int result = curr->firstLineBoxBaseline();
    62366236                if (result != -1)
    62376237                    return curr->logicalTop() + result; // Translate to our coordinate space.
     
    62436243}
    62446244
    6245 LayoutUnit RenderBlock::inlineBlockBaseline(LineDirectionMode direction) const
     6245int RenderBlock::inlineBlockBaseline(LineDirectionMode direction) const
    62466246{
    62476247    return lastLineBoxBaseline(direction);
    62486248}
    62496249
    6250 LayoutUnit RenderBlock::lastLineBoxBaseline(LineDirectionMode lineDirection) const
     6250int RenderBlock::lastLineBoxBaseline(LineDirectionMode lineDirection) const
    62516251{
    62526252    if (!isBlockFlow() || (isWritingModeRoot() && !isRubyRun()))
     
    62686268            if (!curr->isFloatingOrOutOfFlowPositioned()) {
    62696269                haveNormalFlowChild = true;
    6270                 LayoutUnit result = curr->inlineBlockBaseline(lineDirection);
     6270                int result = curr->inlineBlockBaseline(lineDirection);
    62716271                if (result != -1)
    62726272                    return curr->logicalTop() + result; // Translate to our coordinate space.
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r132104 r132112  
    9494    // These two functions are overridden for inline-block.
    9595    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    96     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     96    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    9797
    9898    RenderLineBoxList* lineBoxes() { return &m_lineBoxes; }
     
    464464    virtual void computePreferredLogicalWidths();
    465465
    466     virtual LayoutUnit firstLineBoxBaseline() const;
    467     virtual LayoutUnit inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
    468     LayoutUnit lastLineBoxBaseline(LineDirectionMode) const;
     466    virtual int firstLineBoxBaseline() const;
     467    virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
     468    int lastLineBoxBaseline(LineDirectionMode) const;
    469469
    470470    virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&);
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r131971 r132112  
    38323832}
    38333833
    3834 LayoutUnit RenderBox::baselinePosition(FontBaseline baselineType, bool /*firstLine*/, LineDirectionMode direction, LinePositionMode /*linePositionMode*/) const
     3834int RenderBox::baselinePosition(FontBaseline baselineType, bool /*firstLine*/, LineDirectionMode direction, LinePositionMode /*linePositionMode*/) const
    38353835{
    38363836    if (isReplaced()) {
    3837         LayoutUnit result = direction == HorizontalLine ? m_marginBox.top() + height() + m_marginBox.bottom() : m_marginBox.right() + width() + m_marginBox.left();
     3837        int result = direction == HorizontalLine ? m_marginBox.top() + height() + m_marginBox.bottom() : m_marginBox.right() + width() + m_marginBox.left();
    38383838        if (baselineType == AlphabeticBaseline)
    38393839            return result;
  • trunk/Source/WebCore/rendering/RenderBox.h

    r132104 r132112  
    473473    RenderLayer* enclosingFloatPaintingLayer() const;
    474474   
    475     virtual LayoutUnit firstLineBoxBaseline() const { return -1; }
    476     virtual LayoutUnit inlineBlockBaseline(LineDirectionMode) const { return -1; } // Returns -1 if we should skip this box when computing the baseline of an inline-block.
     475    virtual int firstLineBoxBaseline() const { return -1; }
     476    virtual int inlineBlockBaseline(LineDirectionMode) const { return -1; } // Returns -1 if we should skip this box when computing the baseline of an inline-block.
    477477
    478478    bool shrinkToAvoidFloats() const;
     
    486486   
    487487    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    488     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     488    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
    489489
    490490    virtual LayoutUnit offsetLeft() const OVERRIDE;
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.h

    r131557 r132112  
    157157    // Overridden by subclasses to determine line height and baseline position.
    158158    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const = 0;
    159     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const = 0;
     159    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const = 0;
    160160
    161161    virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const OVERRIDE;
  • trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp

    r132104 r132112  
    236236}
    237237
    238 static LayoutUnit synthesizedBaselineFromContentBox(const RenderBox* box, LineDirectionMode direction)
     238static int synthesizedBaselineFromContentBox(const RenderBox* box, LineDirectionMode direction)
    239239{
    240240    return direction == HorizontalLine ? box->borderTop() + box->paddingTop() + box->contentHeight() : box->borderRight() + box->paddingRight() + box->contentWidth();
    241241}
    242242
    243 LayoutUnit RenderFlexibleBox::baselinePosition(FontBaseline, bool, LineDirectionMode direction, LinePositionMode) const
    244 {
    245     LayoutUnit baseline = firstLineBoxBaseline();
     243int RenderFlexibleBox::baselinePosition(FontBaseline, bool, LineDirectionMode direction, LinePositionMode) const
     244{
     245    int baseline = firstLineBoxBaseline();
    246246    if (baseline == -1)
    247247        baseline = synthesizedBaselineFromContentBox(this, direction);
    248248
    249     LayoutUnit marginAscent = direction == HorizontalLine ? marginTop() : marginRight();
     249    int marginAscent = direction == HorizontalLine ? marginTop() : marginRight();
    250250    return baseline + marginAscent;
    251251}
    252252
    253 LayoutUnit RenderFlexibleBox::firstLineBoxBaseline() const
     253int RenderFlexibleBox::firstLineBoxBaseline() const
    254254{
    255255    ASSERT(m_orderIterator);
     
    278278        return mainAxisExtentForChild(baselineChild) + baselineChild->logicalTop();
    279279
    280     LayoutUnit baseline = baselineChild->firstLineBoxBaseline();
     280    int baseline = baselineChild->firstLineBoxBaseline();
    281281    if (baseline == -1) {
    282282        // FIXME: We should pass |direction| into firstLineBoxBaseline and stop bailing out if we're a writing mode root.
     
    289289}
    290290
    291 LayoutUnit RenderFlexibleBox::inlineBlockBaseline(LineDirectionMode direction) const
    292 {
    293     LayoutUnit baseline = firstLineBoxBaseline();
     291int RenderFlexibleBox::inlineBlockBaseline(LineDirectionMode direction) const
     292{
     293    int baseline = firstLineBoxBaseline();
    294294    if (baseline != -1)
    295295        return baseline;
    296296
    297     LayoutUnit marginAscent = direction == HorizontalLine ? marginTop() : marginRight();
     297    int marginAscent = direction == HorizontalLine ? marginTop() : marginRight();
    298298    return synthesizedBaselineFromContentBox(this, direction) + marginAscent;
    299299}
  • trunk/Source/WebCore/rendering/RenderFlexibleBox.h

    r132104 r132112  
    5050    virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) OVERRIDE;
    5151
    52     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
    53     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
    54     virtual LayoutUnit inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
     52    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
     53    virtual int firstLineBoxBaseline() const OVERRIDE;
     54    virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
    5555
    5656    virtual void paintChildren(PaintInfo& forSelf, const LayoutPoint&, PaintInfo& forChild, bool usePrintRect) OVERRIDE;
  • trunk/Source/WebCore/rendering/RenderInline.cpp

    r131532 r132112  
    13021302}
    13031303
    1304 LayoutUnit RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     1304int RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    13051305{
    13061306    const FontMetrics& fontMetrics = style(firstLine)->fontMetrics();
  • trunk/Source/WebCore/rendering/RenderInline.h

    r131532 r132112  
    154154
    155155    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    156     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     156    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    157157   
    158158    virtual void childBecameNonInline(RenderObject* child);
  • trunk/Source/WebCore/rendering/RenderListBox.cpp

    r131938 r132112  
    270270}
    271271
    272 LayoutUnit RenderListBox::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode lineDirection, LinePositionMode linePositionMode) const
     272int RenderListBox::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode lineDirection, LinePositionMode linePositionMode) const
    273273{
    274274    return RenderBox::baselinePosition(baselineType, firstLine, lineDirection, linePositionMode) - baselineAdjustment;
  • trunk/Source/WebCore/rendering/RenderListBox.h

    r129174 r132112  
    7777
    7878    virtual void computePreferredLogicalWidths();
    79     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     79    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    8080    virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const OVERRIDE;
    8181
  • trunk/Source/WebCore/rendering/RenderListMarker.cpp

    r131938 r132112  
    15431543}
    15441544
    1545 LayoutUnit RenderListMarker::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     1545int RenderListMarker::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    15461546{
    15471547    if (!isImage())
  • trunk/Source/WebCore/rendering/RenderListMarker.h

    r130081 r132112  
    6060
    6161    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    62     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     62    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    6363
    6464    bool isImage() const;
  • trunk/Source/WebCore/rendering/RenderSlider.cpp

    r131938 r132112  
    6565}
    6666
    67 LayoutUnit RenderSlider::baselinePosition(FontBaseline, bool /*firstLine*/, LineDirectionMode, LinePositionMode) const
     67int RenderSlider::baselinePosition(FontBaseline, bool /*firstLine*/, LineDirectionMode, LinePositionMode) const
    6868{
    6969    // FIXME: Patch this function for writing-mode.
  • trunk/Source/WebCore/rendering/RenderSlider.h

    r131497 r132112  
    4444    virtual bool canBeReplacedWithInlineRunIn() const OVERRIDE;
    4545
    46     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     46    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    4747    virtual void computePreferredLogicalWidths();
    4848    virtual bool requiresForcedStyleRecalcPropagation() const { return true; }
  • trunk/Source/WebCore/rendering/RenderTable.cpp

    r132104 r132112  
    12211221}
    12221222
    1223 LayoutUnit RenderTable::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     1223int RenderTable::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    12241224{
    12251225    LayoutUnit baseline = firstLineBoxBaseline();
     
    12301230}
    12311231
    1232 LayoutUnit RenderTable::inlineBlockBaseline(LineDirectionMode) const
     1232int RenderTable::inlineBlockBaseline(LineDirectionMode) const
    12331233{
    12341234    // Tables are skipped when computing an inline-block's baseline.
     
    12361236}
    12371237
    1238 LayoutUnit RenderTable::firstLineBoxBaseline() const
     1238int RenderTable::firstLineBoxBaseline() const
    12391239{
    12401240    // The baseline of a 'table' is the same as the 'inline-table' baseline per CSS 3 Flexbox (CSS 2.1
     
    12511251        return -1;
    12521252
    1253     LayoutUnit baseline = topNonEmptySection->firstLineBoxBaseline();
     1253    int baseline = topNonEmptySection->firstLineBoxBaseline();
    12541254    if (baseline > 0)
    12551255        return topNonEmptySection->logicalTop() + baseline;
  • trunk/Source/WebCore/rendering/RenderTable.h

    r132104 r132112  
    278278    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
    279279
    280     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
    281     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
    282     virtual LayoutUnit inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
     280    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
     281    virtual int firstLineBoxBaseline() const OVERRIDE;
     282    virtual int inlineBlockBaseline(LineDirectionMode) const OVERRIDE;
    283283
    284284    RenderTableCol* slowColElement(unsigned col, bool* startEdge, bool* endEdge) const;
  • trunk/Source/WebCore/rendering/RenderTableSection.cpp

    r131938 r132112  
    883883}
    884884
    885 LayoutUnit RenderTableSection::firstLineBoxBaseline() const
     885int RenderTableSection::firstLineBoxBaseline() const
    886886{
    887887    if (!m_grid.size())
    888888        return -1;
    889889
    890     LayoutUnit firstLineBaseline = m_grid[0].baseline;
     890    int firstLineBaseline = m_grid[0].baseline;
    891891    if (firstLineBaseline)
    892892        return firstLineBaseline + m_rowPos[0];
     
    899899        // Only cells with content have a baseline
    900900        if (cell && cell->contentLogicalHeight())
    901             firstLineBaseline = max(firstLineBaseline, cell->logicalTop() + cell->paddingBefore() + cell->borderBefore() + cell->contentLogicalHeight());
     901            firstLineBaseline = max<int>(firstLineBaseline, cell->logicalTop() + cell->paddingBefore() + cell->borderBefore() + cell->contentLogicalHeight());
    902902    }
    903903
  • trunk/Source/WebCore/rendering/RenderTableSection.h

    r131465 r132112  
    7171    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
    7272
    73     virtual LayoutUnit firstLineBoxBaseline() const;
     73    virtual int firstLineBoxBaseline() const OVERRIDE;
    7474
    7575    void addCell(RenderTableCell*, RenderTableRow* row);
  • trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp

    r126859 r132112  
    7777}
    7878
    79 LayoutUnit RenderTextControlMultiLine::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     79int RenderTextControlMultiLine::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    8080{
    8181    return RenderBox::baselinePosition(baselineType, firstLine, direction, linePositionMode);
  • trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h

    r126859 r132112  
    4040    virtual LayoutUnit preferredContentWidth(float charWidth) const;
    4141    virtual LayoutUnit computeControlHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const OVERRIDE;
    42     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     42    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    4343
    4444    virtual RenderStyle* textBaseStyle() const;
  • trunk/Source/WebCore/rendering/RenderTheme.cpp

    r131111 r132112  
    640640#endif
    641641
    642 LayoutUnit RenderTheme::baselinePosition(const RenderObject* o) const
     642int RenderTheme::baselinePosition(const RenderObject* o) const
    643643{
    644644    if (!o->isBox())
  • trunk/Source/WebCore/rendering/RenderTheme.h

    r131054 r132112  
    103103    // position cannot be determined by examining child content. Checkboxes and radio buttons are examples of
    104104    // controls that need to do this.
    105     virtual LayoutUnit baselinePosition(const RenderObject*) const;
     105    virtual int baselinePosition(const RenderObject*) const;
    106106
    107107    // A method for asking if a control is a container or not.  Leaf controls have to have some special behavior (like
  • trunk/Source/WebCore/rendering/RenderThemeSafari.cpp

    r123443 r132112  
    313313}
    314314
    315 LayoutUnit RenderThemeSafari::baselinePosition(const RenderObject* o) const
     315int RenderThemeSafari::baselinePosition(const RenderObject* o) const
    316316{
    317317    if (!o->isBox())
  • trunk/Source/WebCore/rendering/RenderThemeSafari.h

    r119547 r132112  
    5353    // position cannot be determined by examining child content. Checkboxes and radio buttons are examples of
    5454    // controls that need to do this.
    55     virtual LayoutUnit baselinePosition(const RenderObject*) const;
     55    virtual int baselinePosition(const RenderObject*) const;
    5656
    5757    // A method asking if the control changes its tint when the window has focus or not.
  • trunk/Source/WebCore/rendering/RootInlineBox.cpp

    r130612 r132112  
    101101}
    102102
    103 LayoutUnit RootInlineBox::baselinePosition(FontBaseline baselineType) const
     103int RootInlineBox::baselinePosition(FontBaseline baselineType) const
    104104{
    105105    return boxModelObject()->baselinePosition(baselineType, isFirstLineStyle(), isHorizontal() ? HorizontalLine : VerticalLine, PositionOfInteriorLineBoxes);
     
    262262    LayoutUnit maxPositionTop = 0;
    263263    LayoutUnit maxPositionBottom = 0;
    264     LayoutUnit maxAscent = 0;
    265     LayoutUnit maxDescent = 0;
     264    int maxAscent = 0;
     265    int maxDescent = 0;
    266266    bool setMaxAscent = false;
    267267    bool setMaxDescent = false;
  • trunk/Source/WebCore/rendering/RootInlineBox.h

    r126859 r132112  
    110110    bool isHyphenated() const;
    111111
    112     virtual LayoutUnit baselinePosition(FontBaseline baselineType) const;
     112    virtual int baselinePosition(FontBaseline baselineType) const;
    113113    virtual LayoutUnit lineHeight() const;
    114114
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp

    r128837 r132112  
    199199}
    200200
    201 LayoutUnit RenderMathMLBlock::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     201int RenderMathMLBlock::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    202202{
    203203    // mathml.css sets math { -webkit-line-box-contain: glyphs replaced; line-height: 0; }, so when linePositionMode == PositionOfInteriorLineBoxes we want to
     
    260260#endif // ENABLE(DEBUG_MATH_LAYOUT)
    261261
    262 LayoutUnit RenderMathMLTable::firstLineBoxBaseline() const
     262int RenderMathMLTable::firstLineBoxBaseline() const
    263263{
    264264    // In legal MathML, we'll have a MathML parent. That RenderFlexibleBox parent will use our firstLineBoxBaseline() for baseline alignment, per
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.h

    r128837 r132112  
    7979    virtual void computePreferredLogicalWidths() OVERRIDE;
    8080   
    81     virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
     81    virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
    8282   
    8383#if ENABLE(DEBUG_MATH_LAYOUT)
     
    125125    explicit RenderMathMLTable(Node* node) : RenderTable(node) { }
    126126   
    127     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
     127    virtual int firstLineBoxBaseline() const OVERRIDE;
    128128   
    129129private:
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp

    r130097 r132112  
    150150}
    151151
    152 LayoutUnit RenderMathMLFraction::firstLineBoxBaseline() const
     152int RenderMathMLFraction::firstLineBoxBaseline() const
    153153{
    154154    if (RenderBox* denominatorWrapper = lastChildBox())
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFraction.h

    r128837 r132112  
    4242    virtual RenderMathMLOperator* unembellishedOperator();
    4343   
    44     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
     44    virtual int firstLineBoxBaseline() const OVERRIDE;
    4545    virtual void paint(PaintInfo&, const LayoutPoint&);
    4646protected:
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp

    r128837 r132112  
    382382}
    383383
    384 LayoutUnit RenderMathMLOperator::firstLineBoxBaseline() const
     384int RenderMathMLOperator::firstLineBoxBaseline() const
    385385{
    386386    if (m_isStacked)
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h

    r128837 r132112  
    4646    void stretchToHeight(int pixelHeight);
    4747   
    48     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
     48    virtual int firstLineBoxBaseline() const OVERRIDE;
    4949       
    5050protected:
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp

    r130097 r132112  
    5858}
    5959
    60 LayoutUnit RenderMathMLUnderOver::firstLineBoxBaseline() const
     60int RenderMathMLUnderOver::firstLineBoxBaseline() const
    6161{
    6262    RenderBox* base = firstChildBox();
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h

    r128837 r132112  
    3939    virtual RenderMathMLOperator* unembellishedOperator();
    4040
    41     virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
     41    virtual int firstLineBoxBaseline() const OVERRIDE;
    4242   
    4343private:
Note: See TracChangeset for help on using the changeset viewer.