Title: [131503] trunk
Revision
131503
Author
e...@chromium.org
Date
2012-10-16 14:32:39 -0700 (Tue, 16 Oct 2012)

Log Message

Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection
https://bugs.webkit.org/show_bug.cgi?id=99376

Reviewed by Levi Weintraub.

Source/WebCore:

In r122769 (bug 91410) we added a special-case handling for
replaced elements in InlineFlowBox::placeBoxesInBlockDirection
to work around positioning issues in a couple of svg tests.
This was needed to compensate for a workaround in the table
painting code that was fixed in r131358 (bug 99364). As such the
special-case handling for replaced elements is no longer needed
in InlineFlowBox::placeBoxesInBlockDirection.

Furthermore this caused problems with caret repainting leaving
residual pixels which motivated this change.

No new tests, have not been able to write a repaint test to
demonstrate the caret repaint issue.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):

LayoutTests:

* platform/chromium/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (131502 => 131503)


--- trunk/LayoutTests/ChangeLog	2012-10-16 21:26:01 UTC (rev 131502)
+++ trunk/LayoutTests/ChangeLog	2012-10-16 21:32:39 UTC (rev 131503)
@@ -1,3 +1,12 @@
+2012-10-16  Emil A Eklund  <e...@chromium.org>
+
+        Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection
+        https://bugs.webkit.org/show_bug.cgi?id=99376
+
+        Reviewed by Levi Weintraub.
+
+        * platform/chromium/TestExpectations:
+
 2012-10-16  Filip Pizlo  <fpi...@apple.com>
 
         GetScopedVar CSE matches dead GetScopedVar's leading to IR corruption

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (131502 => 131503)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-10-16 21:26:01 UTC (rev 131502)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-10-16 21:32:39 UTC (rev 131503)
@@ -812,7 +812,8 @@
 http/tests/cookies/third-party-cookie-relaxing.html [ WontFix ]
 
 # <progress> on Mac is always animated.
-[ Mac ] fast/dom/HTMLProgressElement/progress-element.html [ WontFix ]
+# Temporarily disabled until it is rebaselined for webkit.org/b/99376 to make the linter happy
+#[ Mac ] fast/dom/HTMLProgressElement/progress-element.html [ WontFix ]
 
 # These tests are WONTFIX because they use codecs Chromium doesn't support.
 media/audio-mpeg-supported.html [ WontFix ]
@@ -1337,7 +1338,8 @@
 
 # Many WIN and Linux SVG tests containing text are flaky. It seems different fonts are used at different times.
 webkit.org/b/83303 [ Android Linux Win ] svg/zoom/text/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
-webkit.org/b/83303 [ Android Linux Win ] svg/zoom/page/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
+# Temporarily disabled until it is rebaselined for webkit.org/b/99376 to make the linter happy
+#webkit.org/b/83303 [ Android Linux Win ] svg/zoom/page/zoom-hixie-mixed-009.xml [ ImageOnlyFailure Pass ]
 webkit.org/b/83303 [ Android Linux ] svg/hixie/mixed/009.xml [ ImageOnlyFailure Pass ]
 webkit.org/b/83306 [ Win ] svg/hixie/mixed/009.xml [ ImageOnlyFailure ]
 webkit.org/b/83303 [ Android Linux ] svg/text/scaling-font-with-geometric-precision.html [ ImageOnlyFailure Pass ]
@@ -1677,7 +1679,8 @@
 webkit.org/b/98762 [ Android ] compositing/overflow/ancestor-overflow.html [ ImageOnlyFailure ]
 webkit.org/b/98762 [ Android ] compositing/overflow/overflow-positioning.html [ ImageOnlyFailure ]
 webkit.org/b/98762 [ Android ] compositing/overflow/scrollbar-painting.html [ ImageOnlyFailure ]
-webkit.org/b/98762 [ Android ] compositing/shadows/shadow-drawing.html [ ImageOnlyFailure ]
+# Temporarily disabled until it is rebaselined for webkit.org/b/99376 to make the linter happy
+#webkit.org/b/98762 [ Android ] compositing/shadows/shadow-drawing.html [ ImageOnlyFailure ]
 webkit.org/b/98762 [ Android ] compositing/transitions/singular-scale-transition.html [ ImageOnlyFailure ]
 webkit.org/b/98762 [ Android ] compositing/z-order/negative-z-index.html [ ImageOnlyFailure ]
 
@@ -1805,7 +1808,8 @@
 webkit.org/b/98771 [ Android ] fast/forms/select-change-listbox-to-popup.html [ ImageOnlyFailure ]
 webkit.org/b/98771 [ Android ] fast/forms/select-change-listbox-size.html [ ImageOnlyFailure ]
 webkit.org/b/98771 [ Android ] fast/forms/select-block-background.html [ ImageOnlyFailure ]
-webkit.org/b/98771 [ Android ] fast/forms/placeholder-position.html [ ImageOnlyFailure ]
+# Temporarily disabled until it is rebaselined for webkit.org/b/99376 to make the linter happy
+#webkit.org/b/98771 [ Android ] fast/forms/placeholder-position.html [ ImageOnlyFailure ]
 webkit.org/b/98771 [ Android ] fast/forms/option-strip-whitespace.html [ ImageOnlyFailure ]
 webkit.org/b/98771 [ Android ] fast/forms/menulist-option-wrap.html [ ImageOnlyFailure ]
 webkit.org/b/98771 [ Android ] fast/forms/listbox-width-change.html [ ImageOnlyFailure ]
@@ -3677,7 +3681,8 @@
 
 webkit.org/b/93799 [ Mac ] fast/dom/HTMLMeterElement/meter-optimums.html [ Failure Pass ]
 
-webkit.org/b/93801 [ Lion ] fast/speech/input-appearance-searchandspeech.html [ ImageOnlyFailure Pass ]
+# Temporarily disabled until it is rebaselined for webkit.org/b/99376 to make the linter happy
+#webkit.org/b/93801 [ Lion ] fast/speech/input-appearance-searchandspeech.html [ ImageOnlyFailure Pass ]
 
 # Flaky
 webkit.org/b/93938 [ Debug ] fast/forms/range/slider-delete-while-dragging-thumb.html [ Failure Pass ]
@@ -4091,3 +4096,97 @@
 webkit.org/b/99138 [ SnowLeopard ] svg/custom/foreign-object-skew.svg [ Pass ImageOnlyFailure ]
 
 webkit.org/b/99466 fast/forms/date/calendar-picker-key-operations.html [ Text ]
+
+# Needs rebaselining once the bots cycle.
+webkit.org/b/99376 css3/flexbox/flexbox-baseline.html [ Pass Failure ]
+webkit.org/b/99376 fast/block/positioning/replaced-inside-fixed-top-bottom.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/007.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/basic-buttons.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/search-vertical-alignment.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/searchfield-heights.html [ Pass Failure ]
+webkit.org/b/99376 fast/images/imagemap-focus-ring-zoom.html [ Pass Failure ]
+webkit.org/b/99376 fast/html/details-add-child-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-child-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-details-child-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-details-child-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-1-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-10-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-10.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-2-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-3-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-3.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-4-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-4.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-5-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-5.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-6-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-6.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-7-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-7.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-8-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-8.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-9-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-9.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-child-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-add-summary-child-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-marker-style.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-nested-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-nested-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-no-summary1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-no-summary2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-no-summary3.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-no-summary4.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open-_javascript_.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open3.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open4.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open5.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-open6.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-position.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-child-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-child-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-1-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-2-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-3-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-3.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-4-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-4.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-5-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-5.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-6-and-click.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-6.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-child-1.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-remove-summary-child-2.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-replace-summary-child.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-replace-text.html [ Pass Failure ] 
+webkit.org/b/99376 fast/html/details-writing-mode.html [ Pass Failure ] 
+webkit.org/b/99376 fast/speech/input-appearance-searchandspeech.html [ Pass Failure ]
+webkit.org/b/99376 fast/writing-mode/fieldsets.html [ Pass Failure ]
+webkit.org/b/99376 svg/as-border-image/svg-as-border-image-2.html [ Pass Failure ]
+webkit.org/b/99376 svg/as-border-image/svg-as-border-image.html [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-hixie-mixed-009.xml [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-svg-through-object-with-override-size.html [ Pass Failure ]
+webkit.org/b/99376 svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml [ Pass Failure ]
+webkit.org/b/99376 fast/dom/HTMLProgressElement/progress-element.html [ Pass ImageOnlyFailure ]
+webkit.org/b/99376 fast/forms/datalist/input-appearance-range-with-datalist-zoomed.html [ Pass ImageOnlyFailure ]
+webkit.org/b/99376 fast/forms/input-placeholder-paint-order.html [ Pass ImageOnlyFailure ]
+webkit.org/b/99376 svg/zoom/page/zoom-background-images.html [ Pass ImageOnlyFailure ]
+webkit.org/b/99376 compositing/shadows/shadow-drawing.html [ Pass Failure ]
+webkit.org/b/99376 css2.1/t0804-c5509-padn-l-03-f-g.html [ Pass Failure ]
+webkit.org/b/99376 css2.1/t090501-c414-flt-03-b-g.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/input-baseline.html [ Pass Failure ]
+webkit.org/b/99376 fast/forms/placeholder-position.html [ Pass Failure ]
+webkit.org/b/99376 fast/inline-block/contenteditable-baseline.html [ Pass Failure ]
+webkit.org/b/99376 platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing.html [ Pass Failure ]
+webkit.org/b/99376 tables/mozilla/bugs/bug30692.html [ Pass Failure ]
+

Modified: trunk/Source/WebCore/ChangeLog (131502 => 131503)


--- trunk/Source/WebCore/ChangeLog	2012-10-16 21:26:01 UTC (rev 131502)
+++ trunk/Source/WebCore/ChangeLog	2012-10-16 21:32:39 UTC (rev 131503)
@@ -1,3 +1,27 @@
+2012-10-16  Emil A Eklund  <e...@chromium.org>
+
+        Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection
+        https://bugs.webkit.org/show_bug.cgi?id=99376
+
+        Reviewed by Levi Weintraub.
+
+        In r122769 (bug 91410) we added a special-case handling for
+        replaced elements in InlineFlowBox::placeBoxesInBlockDirection
+        to work around positioning issues in a couple of svg tests.
+        This was needed to compensate for a workaround in the table
+        painting code that was fixed in r131358 (bug 99364). As such the
+        special-case handling for replaced elements is no longer needed
+        in InlineFlowBox::placeBoxesInBlockDirection.
+
+        Furthermore this caused problems with caret repainting leaving
+        residual pixels which motivated this change.
+
+        No new tests, have not been able to write a repaint test to
+        demonstrate the caret repaint issue.
+
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+
 2012-10-16  Simon Fraser  <simon.fra...@apple.com>
 
         Some #include hygiene

Modified: trunk/Source/WebCore/rendering/InlineFlowBox.cpp (131502 => 131503)


--- trunk/Source/WebCore/rendering/InlineFlowBox.cpp	2012-10-16 21:26:01 UTC (rev 131502)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.cpp	2012-10-16 21:32:39 UTC (rev 131503)
@@ -625,10 +625,6 @@
             curr->adjustBlockDirectionPosition(adjustmentForChildrenWithSameLineHeightAndBaseline);
             continue;
         }
-        
-        LayoutUnit baselinePosition = curr->baselinePosition(baselineType);
-        if (curr->renderer()->isReplaced())
-            baselinePosition = baselinePosition.floor();
 
         InlineFlowBox* inlineFlowBox = curr->isInlineFlowBox() ? toInlineFlowBox(curr) : 0;
         bool childAffectsTopBottomPos = true;
@@ -640,7 +636,7 @@
             if (!strictMode && inlineFlowBox && !inlineFlowBox->hasTextChildren() && !curr->boxModelObject()->hasInlineDirectionBordersOrPadding()
                 && !(inlineFlowBox->descendantsHaveSameLineHeightAndBaseline() && inlineFlowBox->hasTextDescendants()))
                 childAffectsTopBottomPos = false;
-            LayoutUnit posAdjust = maxAscent - baselinePosition;
+            LayoutUnit posAdjust = maxAscent - curr->baselinePosition(baselineType);
             curr->setLogicalTop(curr->logicalTop() + top + posAdjust);
         }
         
@@ -651,7 +647,7 @@
             
         if (curr->isText() || curr->isInlineFlowBox()) {
             const FontMetrics& fontMetrics = curr->renderer()->style(isFirstLineStyle())->fontMetrics();
-            newLogicalTop += baselinePosition - fontMetrics.ascent(baselineType);
+            newLogicalTop += curr->baselinePosition(baselineType) - fontMetrics.ascent(baselineType);
             if (curr->isInlineFlowBox()) {
                 RenderBoxModelObject* boxObject = toRenderBoxModelObject(curr->renderer());
                 newLogicalTop -= boxObject->style(isFirstLineStyle())->isHorizontalWritingMode() ? boxObject->borderTop() + boxObject->paddingTop() : 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to