Changeset 110072 in webkit


Ignore:
Timestamp:
Mar 7, 2012, 11:05:57 AM (13 years ago)
Author:
jchaffraix@webkit.org
Message:

Lazily allocate overflow: hidden layers if we have overflowing content
https://bugs.webkit.org/show_bug.cgi?id=75568

Reviewed by David Hyatt.

Source/WebCore:

Change covered by the existing tests and the tons of rebaselines.

This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.

Apart from saving some memory, it will also speed up the rendering as we don't need to
go through the layer's machinery when painting and hit testing.

On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
overflow: hidden case in par with the overflow: visible case when scrolling that is a
very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateScrollInfoAfterLayout):
Changed this method to update our size cache if needed.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::isPointInOverflowControl):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::layout):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
(WebCore::RenderBox::scrollLeft):
(WebCore::RenderBox::scrollTop):
(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):
(WebCore::RenderBox::includeVerticalScrollbarSize):
(WebCore::RenderBox::includeHorizontalScrollbarSize):
(WebCore::RenderBox::scrolledContentOffset):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::popContentsClip):
(WebCore::RenderBox::addLayoutOverflow):
Added layer() check to the previous call sites.

(WebCore::cachedSizeForOverflowClipMap):
(WebCore::RenderBox::cachedSizeForOverflowClip):
(WebCore::RenderBox::updateCachedSizeForOverflowClip):
(WebCore::RenderBox::clearCachedSizeForOverflowClip):
This logic stores the size information for later repainting.
It is in practice replicating what RenderLayer is doing.
I had to disable an ASSERT here as it would trigger in NRWT but
not under DRT. I haven't found by code inspection what was wrong.

  • rendering/RenderBox.h:

(WebCore::RenderBox::hasOverflowClipWithLayer):
Helper function.

(WebCore::RenderBox::requiresLayerForOverflowClip):
This determines if we can survive without a RenderLayer. For the moment,
it is very conservative.

(WebCore::RenderBox::requiresLayer):
Updated to call requiresLayerForOverflowClip.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::ensureLayer):
Added this function to create and add a new layer.

(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::styleDidChange):
Patched those method to handle updating / removing
cached size entries.

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::requiresLayer):
Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
overflow clips.

  • rendering/RenderTableRow.h:

(WebCore::RenderTableRow::requiresLayer):
Added a comment about why we need a layout for table rows.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):
Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
not tight proof and would need to be rethought to not avoid cases.

LayoutTests:

  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
  • platform/win/Skipped:

Disable gazillions tests that need a small rebaseline after losing some layers. The expectations are
updated to match each platform as best as I could but expect some breakage...

Location:
trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r110069 r110072  
     12012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
     2
     3        Lazily allocate overflow: hidden layers if we have overflowing content
     4        https://bugs.webkit.org/show_bug.cgi?id=75568
     5
     6        Reviewed by David Hyatt.
     7
     8        * platform/chromium/test_expectations.txt:
     9        * platform/efl/test_expectations.txt:
     10        * platform/gtk/test_expectations.txt:
     11        * platform/mac/test_expectations.txt:
     12        * platform/qt/test_expectations.txt:
     13        * platform/win/Skipped:
     14        Disable gazillions tests that need a small rebaseline after losing some layers. The expectations are
     15        updated to match each platform as best as I could but expect some breakage...
     16
    1172012-03-07  Stephen Chenney  <schenney@chromium.org>
    218
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r110069 r110072  
    15281528BUGCR104128 : fast/box-shadow/box-shadow-radius.html = IMAGE
    15291529BUGCR104128 : fast/box-shadow/inset-box-shadow-radius.html = IMAGE
    1530 BUGCR104128 : fast/box-shadow/shadow-buffer-partial.html = IMAGE
     1530// Need TEXT rebaseline after BUGWK75568
     1531BUGCR104128 : fast/box-shadow/shadow-buffer-partial.html = IMAGE+TEXT
    15311532BUGCR104128 : fast/canvas/shadow-offset-4.html = IMAGE
    15321533BUGCR104128 : fast/canvas/shadow-offset-5.html = IMAGE
     
    24422443BUG_DRT DEBUG : fast/frames/calculate-round.html = PASS TIMEOUT
    24432444BUGCR43890 SLOW DEBUG : fast/forms/implicit-submission.html = PASS TEXT
    2444 BUG_DRT : fast/repaint/iframe-scroll-repaint.html = IMAGE
     2445// Rebaseline needed after BUGWK75568
     2446BUG_DRT : fast/repaint/iframe-scroll-repaint.html = IMAGE+TEXT
    24452447BUG_DRT LINUX : fast/repaint/repaint-across-writing-mode-boundary.html = IMAGE
    24462448BUG_DRT LINUX : fast/text/justification-padding-mid-word.html = PASS TEXT
     
    38393841// flaky
    38403842BUGSENORBLANCO : platform/chromium/fast/events/rtl-scrollbar.html = TEXT PASS
     3843
     3844// Need text rebaseline after lazily allocating layers.
     3845// The difference should be only layer removal, no size or position should change.
     3846
     3847// Those tests have other entries in our expectations filed and may not totally covers
     3848BUGWK75568 RELEASE : animations/combo-transform-translate+scale.html = TEXT
     3849BUGWK75568 LINUX DEBUG : animations/combo-transform-translate+scale.html = TEXT
     3850BUGWK75568 WIN LINUX : editing/spelling/inline_spelling_markers.html = TEXT
     3851BUGWK75568 WIN LINUX : fast/forms/form-element-geometry.html = TEXT
     3852BUGWK75568 WIN LINUX : fast/forms/input-value.html = TEXT
     3853BUGWK75568 WIN LINUX : fast/layers/add-layer-with-nested-stacking.html = TEXT
     3854BUGWK75568 WIN LINUX : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     3855BUGWK75568 WIN LINUX : fast/repaint/inline-relative-positioned.html = TEXT
     3856BUGWK75568 WIN LINUX : fast/repaint/lines-with-layout-delta.html = TEXT
     3857BUGWK75568 WIN LINUX : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     3858BUGWK75568 WIN LINUX : fast/repaint/repaint-resized-overflow.html = TEXT
     3859BUGWK75568 WIN LINUX : fast/repaint/subtree-layoutstate-transform.html = TEXT
     3860BUGWK75568 WIN LINUX : fast/repaint/subtree-root-clip-2.html = TEXT
     3861BUGWK75568 WIN LINUX : fast/repaint/subtree-root-clip.html = TEXT
     3862BUGWK75568 WIN LINUX : fast/repaint/subtree-root-skipped.html = TEXT
     3863BUGWK75568 WIN LINUX : fast/replaced/replaced-breaking.html = TEXT
     3864BUGWK75568 WIN LINUX : fast/replaced/width100percent-searchfield.html = TEXT
     3865BUGWK75568 WIN LINUX : fast/text/textIteratorNilRenderer.html = TEXT
     3866
     3867// Those tests need a text baseline after lazily allocating layers.
     3868// The change should only be layer removal.
     3869BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     3870BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     3871BUGWK75568 : editing/inserting/before-after-input-element.html = TEXT
     3872BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     3873BUGWK75568 : editing/pasteboard/drop-text-without-selection.html = TEXT
     3874BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     3875BUGWK75568 : editing/selection/3690703-2.html = TEXT
     3876BUGWK75568 : editing/selection/3690703.html = TEXT
     3877BUGWK75568 : editing/selection/3690719.html = TEXT
     3878BUGWK75568 : editing/selection/4895428-3.html = TEXT
     3879BUGWK75568 : editing/selection/4975120.html = TEXT
     3880BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     3881BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     3882BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     3883BUGWK75568 : editing/selection/select-across-readonly-input-1.html = TEXT
     3884BUGWK75568 : editing/selection/select-across-readonly-input-2.html = TEXT
     3885BUGWK75568 : editing/selection/select-across-readonly-input-3.html = TEXT
     3886BUGWK75568 : editing/selection/select-across-readonly-input-4.html = TEXT
     3887BUGWK75568 : editing/selection/select-across-readonly-input-5.html = TEXT
     3888BUGWK75568 : fast/block/float/032.html = TEXT
     3889BUGWK75568 : fast/block/float/033.html = TEXT
     3890BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     3891BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     3892BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     3893BUGWK75568 : fast/block/float/in-margin.html = TEXT
     3894BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     3895BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     3896BUGWK75568 : fast/block/lineboxcontain/block-font.html = TEXT
     3897BUGWK75568 : fast/block/lineboxcontain/block-glyphs.html = TEXT
     3898BUGWK75568 : fast/block/lineboxcontain/font.html = TEXT
     3899BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     3900BUGWK75568 : fast/block/margin-collapse/103.html = TEXT
     3901BUGWK75568 : fast/clip/017.html = TEXT
     3902BUGWK75568 : fast/css/input-search-padding.html = TEXT
     3903BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     3904BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     3905BUGWK75568 : fast/css/line-height.html = TEXT
     3906BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     3907BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     3908BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     3909BUGWK75568 : fast/css/text-overflow-input.html = TEXT
     3910BUGWK75568 : fast/dom/isindex-001.html = TEXT
     3911BUGWK75568 : fast/dom/isindex-002.html = TEXT
     3912BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     3913BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     3914BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     3915BUGWK75568 : fast/events/autoscroll.html = TEXT
     3916BUGWK75568 : fast/events/context-no-deselect.html = TEXT
     3917BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     3918BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     3919BUGWK75568 : fast/forms/box-shadow-override.html = TEXT
     3920BUGWK75568 : fast/forms/encoding-test.html = TEXT
     3921BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     3922BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     3923BUGWK75568 : fast/forms/input-align.html = TEXT
     3924BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     3925BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     3926BUGWK75568 : fast/forms/input-appearance-disabled.html = TEXT
     3927BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     3928BUGWK75568 : fast/forms/input-appearance-height.html = TEXT
     3929BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     3930BUGWK75568 : fast/forms/input-appearance-readonly.html = TEXT
     3931BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     3932BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     3933BUGWK75568 : fast/forms/input-appearance-width.html = TEXT
     3934BUGWK75568 : fast/forms/input-baseline.html = TEXT
     3935BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     3936BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     3937BUGWK75568 : fast/forms/input-placeholder-visibility-1.html = TEXT
     3938BUGWK75568 : fast/forms/input-placeholder-visibility-3.html = TEXT
     3939BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     3940BUGWK75568 : fast/forms/input-spaces.html = TEXT
     3941BUGWK75568 : fast/forms/input-table.html = TEXT
     3942BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     3943BUGWK75568 : fast/forms/input-text-click-outside.html = TEXT
     3944BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     3945BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     3946BUGWK75568 : fast/forms/input-width.html = TEXT
     3947BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     3948BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     3949BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     3950BUGWK75568 : fast/forms/placeholder-position.html = TEXT
     3951BUGWK75568 : fast/forms/placeholder-pseudo-style.html = TEXT
     3952BUGWK75568 : fast/forms/plaintext-mode-2.html = TEXT
     3953BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     3954BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     3955BUGWK75568 : fast/forms/search-rtl.html = TEXT
     3956BUGWK75568 : fast/forms/search-styled.html = TEXT
     3957BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     3958BUGWK75568 : fast/forms/searchfield-heights.html = TEXT
     3959BUGWK75568 : fast/forms/tabbing-input-iframe.html = TEXT
     3960BUGWK75568 : fast/forms/text-style-color.html = TEXT
     3961BUGWK75568 : fast/forms/textfield-focus-ring.html = TEXT
     3962BUGWK75568 : fast/forms/validation-message-appearance.html = TEXT
     3963BUGWK75568 : fast/forms/visual-hebrew-text-field.html = TEXT
     3964BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     3965BUGWK75568 : fast/html/details-no-summary4.html = TEXT
     3966BUGWK75568 : fast/html/details-open-javascript.html = TEXT
     3967BUGWK75568 : fast/html/details-open2.html = TEXT
     3968BUGWK75568 : fast/html/details-open4.html = TEXT
     3969BUGWK75568 : fast/invalid/residual-style.html = TEXT
     3970BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     3971BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     3972BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     3973BUGWK75568 : fast/overflow/004.html = TEXT
     3974BUGWK75568 : fast/overflow/clip-rects-fixed-ancestor.html = TEXT
     3975BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     3976BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     3977BUGWK75568 : fast/repaint/layer-outline-horizontal.html = TEXT
     3978BUGWK75568 : fast/repaint/layer-outline.html = TEXT
     3979BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     3980BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     3981BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     3982BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     3983BUGWK75568 : fast/text/selection-painted-separately.html = TEXT
     3984BUGWK75568 : fast/text/selection-rect-rounding.html = TEXT
     3985BUGWK75568 : fast/transforms/transformed-focused-text-input.html = TEXT
     3986BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     3987BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     3988BUGWK75568 : svg/hixie/mixed/003.xml = TEXT
     3989BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     3990BUGWK75568 : tables/mozilla/bugs/bug12384.html = TEXT
     3991BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     3992BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     3993BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     3994BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     3995BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     3996BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     3997BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     3998BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     3999BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     4000BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     4001BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     4002BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     4003BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     4004BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     4005BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     4006BUGWK75568 : tables/mozilla/bugs/bug99948.html = TEXT
     4007BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     4008BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     4009BUGWK75568 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
     4010BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     4011BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     4012BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     4013BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     4014BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     4015BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     4016BUGWK75568 : fast/table/003.html = TEXT
     4017BUGWK75568 : fast/table/029.html = TEXT
     4018BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     4019BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     4020BUGWK75568 : fast/table/overflowHidden.html = TEXT
     4021BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     4022BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     4023BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
     4024BUGWK75568 : fast/repaint/search-field-cancel.html = TEXT
  • trunk/LayoutTests/platform/efl/test_expectations.txt

    r109383 r110072  
    1010BUGWK37244: tables/mozilla/bugs/bug27038-1.html = IMAGE+TEXT
    1111BUGWK37244: tables/mozilla/bugs/bug27038-2.html = IMAGE+TEXT
     12
     13// Those tests need a text baseline after lazily allocating layers.
     14// The change should only be layer removal.
     15BUGWK75568 : animations/combo-transform-translate+scale.html = TEXT
     16BUGWK75568 : editing/spelling/inline_spelling_markers.html = TEXT
     17BUGWK75568 : fast/box-shadow/shadow-buffer-partial.html = TEXT
     18BUGWK75568 : fast/forms/input-value.html = TEXT
     19BUGWK75568 : fast/layers/add-layer-with-nested-stacking.html = TEXT
     20BUGWK75568 : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     21BUGWK75568 : fast/repaint/iframe-scroll-repaint.html = TEXT
     22BUGWK75568 : fast/repaint/lines-with-layout-delta.html = TEXT
     23BUGWK75568 : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     24BUGWK75568 : fast/repaint/repaint-resized-overflow.html = TEXT
     25BUGWK75568 : fast/repaint/search-field-cancel.html = TEXT
     26BUGWK75568 : fast/repaint/subtree-layoutstate-transform.html = TEXT
     27BUGWK75568 : fast/repaint/subtree-root-clip-2.html = TEXT
     28BUGWK75568 : fast/repaint/subtree-root-clip.html = TEXT
     29BUGWK75568 : fast/repaint/subtree-root-skipped.html = TEXT
     30BUGWK75568 : fast/replaced/replaced-breaking.html = TEXT
     31BUGWK75568 : fast/text/textIteratorNilRenderer.html = TEXT
     32BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     33BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     34BUGWK75568 : editing/inserting/before-after-input-element.html = TEXT
     35BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     36BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     37BUGWK75568 : editing/selection/3690703-2.html = TEXT
     38BUGWK75568 : editing/selection/3690703.html = TEXT
     39BUGWK75568 : editing/selection/3690719.html = TEXT
     40BUGWK75568 : editing/selection/4895428-3.html = TEXT
     41BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     42BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     43BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     44BUGWK75568 : fast/block/float/032.html = TEXT
     45BUGWK75568 : fast/block/float/033.html = TEXT
     46BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     47BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     48BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     49BUGWK75568 : fast/block/float/in-margin.html = TEXT
     50BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     51BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     52BUGWK75568 : fast/block/lineboxcontain/block-font.html = TEXT
     53BUGWK75568 : fast/block/lineboxcontain/block-glyphs.html = TEXT
     54BUGWK75568 : fast/block/lineboxcontain/font.html = TEXT
     55BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     56BUGWK75568 : fast/block/margin-collapse/103.html = TEXT
     57BUGWK75568 : fast/clip/017.html = TEXT
     58BUGWK75568 : fast/css/input-search-padding.html = TEXT
     59BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     60BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     61BUGWK75568 : fast/css/line-height.html = TEXT
     62BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     63BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     64BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     65BUGWK75568 : fast/dom/isindex-001.html = TEXT
     66BUGWK75568 : fast/dom/isindex-002.html = TEXT
     67BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     68BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     69BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     70BUGWK75568 : fast/events/autoscroll.html = TEXT
     71BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     72BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     73BUGWK75568 : fast/forms/box-shadow-override.html = TEXT
     74BUGWK75568 : fast/forms/encoding-test.html = TEXT
     75BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     76BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     77BUGWK75568 : fast/forms/input-align.html = TEXT
     78BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     79BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     80BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     81BUGWK75568 : fast/forms/input-appearance-height.html = TEXT
     82BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     83BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     84BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     85BUGWK75568 : fast/forms/input-appearance-width.html = TEXT
     86BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     87BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     88BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     89BUGWK75568 : fast/forms/input-spaces.html = TEXT
     90BUGWK75568 : fast/forms/input-table.html = TEXT
     91BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     92BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     93BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     94BUGWK75568 : fast/forms/input-width.html = TEXT
     95BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     96BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     97BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     98BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     99BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     100BUGWK75568 : fast/forms/search-rtl.html = TEXT
     101BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     102BUGWK75568 : fast/forms/searchfield-heights.html = TEXT
     103BUGWK75568 : fast/forms/tabbing-input-iframe.html = TEXT
     104BUGWK75568 : fast/forms/text-style-color.html = TEXT
     105BUGWK75568 : fast/forms/textfield-focus-ring.html = TEXT
     106BUGWK75568 : fast/forms/visual-hebrew-text-field.html = TEXT
     107BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     108BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     109BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     110BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     111BUGWK75568 : fast/overflow/004.html = TEXT
     112BUGWK75568 : fast/overflow/clip-rects-fixed-ancestor.html = TEXT
     113BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     114BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     115BUGWK75568 : fast/repaint/layer-outline-horizontal.html = TEXT
     116BUGWK75568 : fast/repaint/layer-outline.html = TEXT
     117BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     118BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     119BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     120BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     121BUGWK75568 : fast/text/selection-painted-separately.html = TEXT
     122BUGWK75568 : fast/text/selection-rect-rounding.html = TEXT
     123BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     124BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     125BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     126BUGWK75568 : tables/mozilla/bugs/bug12384.html = TEXT
     127BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     128BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     129BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     130BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     131BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     132BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     133BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     134BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     135BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     136BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     137BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     138BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     139BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     140BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     141BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     142BUGWK75568 : tables/mozilla/bugs/bug99948.html = TEXT
     143BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     144BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     145BUGWK75568 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
     146BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     147BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     148BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     149BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     150BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     151BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     152BUGWK75568 : fast/table/003.html = TEXT
     153BUGWK75568 : fast/table/029.html = TEXT
     154BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     155BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     156BUGWK75568 : fast/table/overflowHidden.html = TEXT
     157BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     158BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     159BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
  • trunk/LayoutTests/platform/gtk/test_expectations.txt

    r110064 r110072  
    113113BUGWK69210: fast/inline/continuation-outlines-with-layers.html = TEXT
    114114BUGWK69210: fast/repaint/transform-absolute-in-positioned-container.html = TEXT
     115
     116// Those tests need a text baseline after lazily allocating layers.
     117// The change should only be layer removal.
     118BUGWK75568 : animations/combo-transform-translate+scale.html = TEXT
     119BUGWK75568 : editing/spelling/inline_spelling_markers.html = TEXT
     120BUGWK75568 : fast/box-shadow/shadow-buffer-partial.html = TEXT
     121BUGWK75568 : fast/forms/form-element-geometry.html = TEXT
     122BUGWK75568 : fast/forms/input-value.html = TEXT
     123BUGWK75568 : fast/layers/add-layer-with-nested-stacking.html = TEXT
     124BUGWK75568 : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     125BUGWK75568 : fast/repaint/iframe-scroll-repaint.html = TEXT
     126BUGWK75568 : fast/repaint/inline-relative-positioned.html = TEXT
     127BUGWK75568 : fast/repaint/lines-with-layout-delta.html = TEXT
     128BUGWK75568 : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     129BUGWK75568 : fast/repaint/repaint-resized-overflow.html = TEXT
     130BUGWK75568 : fast/repaint/search-field-cancel.html = TEXT
     131BUGWK75568 : fast/repaint/subtree-layoutstate-transform.html = TEXT
     132BUGWK75568 : fast/repaint/subtree-root-clip-2.html = TEXT
     133BUGWK75568 : fast/repaint/subtree-root-clip.html = TEXT
     134BUGWK75568 : fast/repaint/subtree-root-skipped.html = TEXT
     135BUGWK75568 : fast/replaced/replaced-breaking.html = TEXT
     136BUGWK75568 : fast/replaced/width100percent-searchfield.html = TEXT
     137BUGWK75568 : fast/text/textIteratorNilRenderer.html = TEXT
     138BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     139BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     140BUGWK75568 : editing/inserting/before-after-input-element.html = TEXT
     141BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     142BUGWK75568 : editing/pasteboard/drop-text-without-selection.html = TEXT
     143BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     144BUGWK75568 : editing/selection/3690703-2.html = TEXT
     145BUGWK75568 : editing/selection/3690703.html = TEXT
     146BUGWK75568 : editing/selection/3690719.html = TEXT
     147BUGWK75568 : editing/selection/4895428-3.html = TEXT
     148BUGWK75568 : editing/selection/4975120.html = TEXT
     149BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     150BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     151BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     152BUGWK75568 : editing/selection/select-across-readonly-input-1.html = TEXT
     153BUGWK75568 : editing/selection/select-across-readonly-input-2.html = TEXT
     154BUGWK75568 : editing/selection/select-across-readonly-input-3.html = TEXT
     155BUGWK75568 : editing/selection/select-across-readonly-input-4.html = TEXT
     156BUGWK75568 : editing/selection/select-across-readonly-input-5.html = TEXT
     157BUGWK75568 : fast/block/float/032.html = TEXT
     158BUGWK75568 : fast/block/float/033.html = TEXT
     159BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     160BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     161BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     162BUGWK75568 : fast/block/float/in-margin.html = TEXT
     163BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     164BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     165BUGWK75568 : fast/block/lineboxcontain/block-font.html = TEXT
     166BUGWK75568 : fast/block/lineboxcontain/block-glyphs.html = TEXT
     167BUGWK75568 : fast/block/lineboxcontain/font.html = TEXT
     168BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     169BUGWK75568 : fast/block/margin-collapse/103.html = TEXT
     170BUGWK75568 : fast/clip/017.html = TEXT
     171BUGWK75568 : fast/css/input-search-padding.html = TEXT
     172BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     173BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     174BUGWK75568 : fast/css/line-height.html = TEXT
     175BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     176BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     177BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     178BUGWK75568 : fast/css/text-overflow-input.html = TEXT
     179BUGWK75568 : fast/dom/isindex-001.html = TEXT
     180BUGWK75568 : fast/dom/isindex-002.html = TEXT
     181BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     182BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     183BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     184BUGWK75568 : fast/events/autoscroll.html = TEXT
     185BUGWK75568 : fast/events/context-no-deselect.html = TEXT
     186BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     187BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     188BUGWK75568 : fast/forms/box-shadow-override.html = TEXT
     189BUGWK75568 : fast/forms/encoding-test.html = TEXT
     190BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     191BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     192BUGWK75568 : fast/forms/input-align.html = TEXT
     193BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     194BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     195BUGWK75568 : fast/forms/input-appearance-disabled.html = TEXT
     196BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     197BUGWK75568 : fast/forms/input-appearance-height.html = TEXT
     198BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     199BUGWK75568 : fast/forms/input-appearance-readonly.html = TEXT
     200BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     201BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     202BUGWK75568 : fast/forms/input-appearance-width.html = TEXT
     203BUGWK75568 : fast/forms/input-baseline.html = TEXT
     204BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     205BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     206BUGWK75568 : fast/forms/input-placeholder-visibility-1.html = TEXT
     207BUGWK75568 : fast/forms/input-placeholder-visibility-3.html = TEXT
     208BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     209BUGWK75568 : fast/forms/input-spaces.html = TEXT
     210BUGWK75568 : fast/forms/input-table.html = TEXT
     211BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     212BUGWK75568 : fast/forms/input-text-click-outside.html = TEXT
     213BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     214BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     215BUGWK75568 : fast/forms/input-width.html = TEXT
     216BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     217BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     218BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     219BUGWK75568 : fast/forms/placeholder-position.html = TEXT
     220BUGWK75568 : fast/forms/placeholder-pseudo-style.html = TEXT
     221BUGWK75568 : fast/forms/plaintext-mode-2.html = TEXT
     222BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     223BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     224BUGWK75568 : fast/forms/search-rtl.html = TEXT
     225BUGWK75568 : fast/forms/search-styled.html = TEXT
     226BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     227BUGWK75568 : fast/forms/searchfield-heights.html = TEXT
     228BUGWK75568 : fast/forms/tabbing-input-iframe.html = TEXT
     229BUGWK75568 : fast/forms/text-style-color.html = TEXT
     230BUGWK75568 : fast/forms/textfield-focus-ring.html = TEXT
     231BUGWK75568 : fast/forms/visual-hebrew-text-field.html = TEXT
     232BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     233BUGWK75568 : fast/html/details-no-summary4.html = TEXT
     234BUGWK75568 : fast/html/details-open-javascript.html = TEXT
     235BUGWK75568 : fast/html/details-open2.html = TEXT
     236BUGWK75568 : fast/html/details-open4.html = TEXT
     237BUGWK75568 : fast/invalid/residual-style.html = TEXT
     238BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     239BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     240BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     241BUGWK75568 : fast/overflow/004.html = TEXT
     242BUGWK75568 : fast/overflow/clip-rects-fixed-ancestor.html = TEXT
     243BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     244BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     245BUGWK75568 : fast/repaint/layer-outline-horizontal.html = TEXT
     246BUGWK75568 : fast/repaint/layer-outline.html = TEXT
     247BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     248BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     249BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     250BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     251BUGWK75568 : fast/text/selection-painted-separately.html = TEXT
     252BUGWK75568 : fast/text/selection-rect-rounding.html = TEXT
     253BUGWK75568 : fast/transforms/transformed-focused-text-input.html = TEXT
     254BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     255BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     256BUGWK75568 : svg/hixie/mixed/003.xml = TEXT
     257BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     258BUGWK75568 : tables/mozilla/bugs/bug12384.html = TEXT
     259BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     260BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     261BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     262BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     263BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     264BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     265BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     266BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     267BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     268BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     269BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     270BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     271BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     272BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     273BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     274BUGWK75568 : tables/mozilla/bugs/bug99948.html = TEXT
     275BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     276BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     277BUGWK75568 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
     278BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     279BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     280BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     281BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     282BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     283BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     284BUGWK75568 : fast/table/003.html = TEXT
     285BUGWK75568 : fast/table/029.html = TEXT
     286BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     287BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     288BUGWK75568 : fast/table/overflowHidden.html = TEXT
     289BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     290BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     291BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
  • trunk/LayoutTests/platform/mac/test_expectations.txt

    r109383 r110072  
    126126BUGWK74888 : tables/mozilla_expected_failures/bugs/bug10216.html = TEXT
    127127BUGWK74888 : tables/mozilla_expected_failures/bugs/bug104898.html = TEXT
     128// Needs another rebaseline after BUGWK75568
    128129BUGWK74888 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
    129130BUGWK74888 : tables/mozilla_expected_failures/bugs/bug14007-2.html = TEXT
     
    213214BUGWK69210: fast/inline/continuation-outlines-with-layers.html = TEXT
    214215BUGWK69210: fast/repaint/transform-absolute-in-positioned-container.html = TEXT
     216
     217// Those tests need a text baseline after lazily allocating layers.
     218// The change should only be layer removal.
     219BUGWK75568 : animations/combo-transform-translate+scale.html = TEXT
     220BUGWK75568 : editing/spelling/inline_spelling_markers.html = TEXT
     221BUGWK75568 : fast/box-shadow/shadow-buffer-partial.html = TEXT
     222BUGWK75568 : fast/forms/form-element-geometry.html = TEXT
     223BUGWK75568 : fast/forms/input-value.html = TEXT
     224BUGWK75568 : fast/layers/add-layer-with-nested-stacking.html = TEXT
     225BUGWK75568 : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     226BUGWK75568 : fast/repaint/iframe-scroll-repaint.html = TEXT
     227BUGWK75568 : fast/repaint/inline-relative-positioned.html = TEXT
     228BUGWK75568 : fast/repaint/lines-with-layout-delta.html = TEXT
     229BUGWK75568 : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     230BUGWK75568 : fast/repaint/repaint-resized-overflow.html = TEXT
     231BUGWK75568 : fast/repaint/search-field-cancel.html = TEXT
     232BUGWK75568 : fast/repaint/subtree-layoutstate-transform.html = TEXT
     233BUGWK75568 : fast/repaint/subtree-root-clip-2.html = TEXT
     234BUGWK75568 : fast/repaint/subtree-root-clip.html = TEXT
     235BUGWK75568 : fast/repaint/subtree-root-skipped.html = TEXT
     236BUGWK75568 : fast/replaced/replaced-breaking.html = TEXT
     237BUGWK75568 : fast/replaced/width100percent-searchfield.html = TEXT
     238BUGWK75568 : fast/text/textIteratorNilRenderer.html = TEXT
     239BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     240BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     241BUGWK75568 : editing/inserting/before-after-input-element.html = TEXT
     242BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     243BUGWK75568 : editing/pasteboard/drop-text-without-selection.html = TEXT
     244BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     245BUGWK75568 : editing/selection/3690703-2.html = TEXT
     246BUGWK75568 : editing/selection/3690703.html = TEXT
     247BUGWK75568 : editing/selection/3690719.html = TEXT
     248BUGWK75568 : editing/selection/4895428-3.html = TEXT
     249BUGWK75568 : editing/selection/4975120.html = TEXT
     250BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     251BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     252BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     253BUGWK75568 : editing/selection/select-across-readonly-input-1.html = TEXT
     254BUGWK75568 : editing/selection/select-across-readonly-input-2.html = TEXT
     255BUGWK75568 : editing/selection/select-across-readonly-input-3.html = TEXT
     256BUGWK75568 : editing/selection/select-across-readonly-input-4.html = TEXT
     257BUGWK75568 : editing/selection/select-across-readonly-input-5.html = TEXT
     258BUGWK75568 : fast/block/float/032.html = TEXT
     259BUGWK75568 : fast/block/float/033.html = TEXT
     260BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     261BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     262BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     263BUGWK75568 : fast/block/float/in-margin.html = TEXT
     264BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     265BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     266BUGWK75568 : fast/block/lineboxcontain/block-font.html = TEXT
     267BUGWK75568 : fast/block/lineboxcontain/block-glyphs.html = TEXT
     268BUGWK75568 : fast/block/lineboxcontain/font.html = TEXT
     269BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     270BUGWK75568 : fast/block/margin-collapse/103.html = TEXT
     271BUGWK75568 : fast/clip/017.html = TEXT
     272BUGWK75568 : fast/css/input-search-padding.html = TEXT
     273BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     274BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     275BUGWK75568 : fast/css/line-height.html = TEXT
     276BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     277BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     278BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     279BUGWK75568 : fast/css/text-overflow-input.html = TEXT
     280BUGWK75568 : fast/dom/isindex-001.html = TEXT
     281BUGWK75568 : fast/dom/isindex-002.html = TEXT
     282BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     283BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     284BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     285BUGWK75568 : fast/events/autoscroll.html = TEXT
     286BUGWK75568 : fast/events/context-no-deselect.html = TEXT
     287BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     288BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     289BUGWK75568 : fast/forms/box-shadow-override.html = TEXT
     290BUGWK75568 : fast/forms/encoding-test.html = TEXT
     291BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     292BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     293BUGWK75568 : fast/forms/input-align.html = TEXT
     294BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     295BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     296BUGWK75568 : fast/forms/input-appearance-disabled.html = TEXT
     297BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     298BUGWK75568 : fast/forms/input-appearance-height.html = TEXT
     299BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     300BUGWK75568 : fast/forms/input-appearance-readonly.html = TEXT
     301BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     302BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     303BUGWK75568 : fast/forms/input-appearance-width.html = TEXT
     304BUGWK75568 : fast/forms/input-baseline.html = TEXT
     305BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     306BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     307BUGWK75568 : fast/forms/input-placeholder-visibility-1.html = TEXT
     308BUGWK75568 : fast/forms/input-placeholder-visibility-3.html = TEXT
     309BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     310BUGWK75568 : fast/forms/input-spaces.html = TEXT
     311BUGWK75568 : fast/forms/input-table.html = TEXT
     312BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     313BUGWK75568 : fast/forms/input-text-click-outside.html = TEXT
     314BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     315BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     316BUGWK75568 : fast/forms/input-width.html = TEXT
     317BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     318BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     319BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     320BUGWK75568 : fast/forms/placeholder-position.html = TEXT
     321BUGWK75568 : fast/forms/placeholder-pseudo-style.html = TEXT
     322BUGWK75568 : fast/forms/plaintext-mode-2.html = TEXT
     323BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     324BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     325BUGWK75568 : fast/forms/search-rtl.html = TEXT
     326BUGWK75568 : fast/forms/search-styled.html = TEXT
     327BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     328BUGWK75568 : fast/forms/searchfield-heights.html = TEXT
     329BUGWK75568 : fast/forms/tabbing-input-iframe.html = TEXT
     330BUGWK75568 : fast/forms/text-style-color.html = TEXT
     331BUGWK75568 : fast/forms/textfield-focus-ring.html = TEXT
     332BUGWK75568 : fast/forms/validation-message-appearance.html = TEXT
     333BUGWK75568 : fast/forms/visual-hebrew-text-field.html = TEXT
     334BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     335BUGWK75568 : fast/html/details-no-summary4.html = TEXT
     336BUGWK75568 : fast/html/details-open-javascript.html = TEXT
     337BUGWK75568 : fast/html/details-open2.html = TEXT
     338BUGWK75568 : fast/html/details-open4.html = TEXT
     339BUGWK75568 : fast/invalid/residual-style.html = TEXT
     340BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     341BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     342BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     343BUGWK75568 : fast/overflow/004.html = TEXT
     344BUGWK75568 : fast/overflow/clip-rects-fixed-ancestor.html = TEXT
     345BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     346BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     347BUGWK75568 : fast/repaint/layer-outline-horizontal.html = TEXT
     348BUGWK75568 : fast/repaint/layer-outline.html = TEXT
     349BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     350BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     351BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     352BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     353BUGWK75568 : fast/text/selection-painted-separately.html = TEXT
     354BUGWK75568 : fast/text/selection-rect-rounding.html = TEXT
     355BUGWK75568 : fast/transforms/transformed-focused-text-input.html = TEXT
     356BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     357BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     358BUGWK75568 : svg/hixie/mixed/003.xml = TEXT
     359BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     360BUGWK75568 : tables/mozilla/bugs/bug12384.html = TEXT
     361BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     362BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     363BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     364BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     365BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     366BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     367BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     368BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     369BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     370BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     371BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     372BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     373BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     374BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     375BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     376BUGWK75568 : tables/mozilla/bugs/bug99948.html = TEXT
     377BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     378BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     379BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     380BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     381BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     382BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     383BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     384BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     385BUGWK75568 : fast/table/003.html = TEXT
     386BUGWK75568 : fast/table/029.html = TEXT
     387BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     388BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     389BUGWK75568 : fast/table/overflowHidden.html = TEXT
     390BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     391BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     392BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
  • trunk/LayoutTests/platform/qt/test_expectations.txt

    r109383 r110072  
    3434BUGWK69210: fast/inline/continuation-outlines-with-layers.html = TEXT
    3535BUGWK69210: fast/repaint/transform-absolute-in-positioned-container.html = TEXT
     36
     37// Those tests need a text baseline after lazily allocating layers.
     38// The change should only be layer removal.
     39BUGWK75568 : animations/combo-transform-translate+scale.html = TEXT
     40BUGWK75568 : fast/layers/add-layer-with-nested-stacking.html = TEXT
     41BUGWK75568 : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     42BUGWK75568 : fast/repaint/iframe-scroll-repaint.html = TEXT
     43BUGWK75568 : fast/repaint/lines-with-layout-delta.html = TEXT
     44BUGWK75568 : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     45BUGWK75568 : fast/repaint/repaint-resized-overflow.html = TEXT
     46BUGWK75568 : fast/repaint/search-field-cancel.html = TEXT
     47BUGWK75568 : fast/repaint/subtree-layoutstate-transform.html = TEXT
     48BUGWK75568 : fast/repaint/subtree-root-clip-2.html = TEXT
     49BUGWK75568 : fast/repaint/subtree-root-clip.html = TEXT
     50BUGWK75568 : fast/repaint/subtree-root-skipped.html = TEXT
     51BUGWK75568 : fast/replaced/replaced-breaking.html = TEXT
     52BUGWK75568 : fast/replaced/width100percent-searchfield.html = TEXT
     53BUGWK75568 : fast/text/textIteratorNilRenderer.html = TEXT
     54BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     55BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     56BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     57BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     58BUGWK75568 : editing/selection/3690703-2.html = TEXT
     59BUGWK75568 : editing/selection/3690703.html = TEXT
     60BUGWK75568 : editing/selection/3690719.html = TEXT
     61BUGWK75568 : editing/selection/4895428-3.html = TEXT
     62BUGWK75568 : editing/selection/4975120.html = TEXT
     63BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     64BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     65BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     66BUGWK75568 : editing/selection/select-across-readonly-input-1.html = TEXT
     67BUGWK75568 : editing/selection/select-across-readonly-input-2.html = TEXT
     68BUGWK75568 : editing/selection/select-across-readonly-input-3.html = TEXT
     69BUGWK75568 : editing/selection/select-across-readonly-input-4.html = TEXT
     70BUGWK75568 : editing/selection/select-across-readonly-input-5.html = TEXT
     71BUGWK75568 : fast/block/float/032.html = TEXT
     72BUGWK75568 : fast/block/float/033.html = TEXT
     73BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     74BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     75BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     76BUGWK75568 : fast/block/float/in-margin.html = TEXT
     77BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     78BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     79BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     80BUGWK75568 : fast/clip/017.html = TEXT
     81BUGWK75568 : fast/css/input-search-padding.html = TEXT
     82BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     83BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     84BUGWK75568 : fast/css/line-height.html = TEXT
     85BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     86BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     87BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     88BUGWK75568 : fast/dom/isindex-001.html = TEXT
     89BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     90BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     91BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     92BUGWK75568 : fast/events/context-no-deselect.html = TEXT
     93BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     94BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     95BUGWK75568 : fast/forms/encoding-test.html = TEXT
     96BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     97BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     98BUGWK75568 : fast/forms/input-align.html = TEXT
     99BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     100BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     101BUGWK75568 : fast/forms/input-appearance-disabled.html = TEXT
     102BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     103BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     104BUGWK75568 : fast/forms/input-appearance-readonly.html = TEXT
     105BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     106BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     107BUGWK75568 : fast/forms/input-baseline.html = TEXT
     108BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     109BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     110BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     111BUGWK75568 : fast/forms/input-spaces.html = TEXT
     112BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     113BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     114BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     115BUGWK75568 : fast/forms/input-width.html = TEXT
     116BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     117BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     118BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     119BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     120BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     121BUGWK75568 : fast/forms/search-rtl.html = TEXT
     122BUGWK75568 : fast/forms/search-styled.html = TEXT
     123BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     124BUGWK75568 : fast/forms/text-style-color.html = TEXT
     125BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     126BUGWK75568 : fast/html/details-no-summary4.html = TEXT
     127BUGWK75568 : fast/html/details-open-javascript.html = TEXT
     128BUGWK75568 : fast/html/details-open2.html = TEXT
     129BUGWK75568 : fast/html/details-open4.html = TEXT
     130BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     131BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     132BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     133BUGWK75568 : fast/overflow/004.html = TEXT
     134BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     135BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     136BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     137BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     138BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     139BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     140BUGWK75568 : fast/transforms/transformed-focused-text-input.html = TEXT
     141BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     142BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     143BUGWK75568 : svg/hixie/mixed/003.xml = TEXT
     144BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     145BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     146BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     147BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     148BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     149BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     150BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     151BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     152BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     153BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     154BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     155BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     156BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     157BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     158BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     159BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     160BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     161BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     162BUGWK75568 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
     163BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     164BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     165BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     166BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     167BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     168BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     169BUGWK75568 : fast/table/029.html = TEXT
     170BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     171BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     172BUGWK75568 : fast/table/overflowHidden.html = TEXT
     173BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     174BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     175BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
  • trunk/LayoutTests/platform/win/Skipped

    r109383 r110072  
    16601660#Vibration API is not implemented.
    16611661fast/dom/navigator-vibration.html
     1662
     1663# Those tests need a text baseline after lazily allocating layers.
     1664# The change should only be layer removal.
     1665animations/combo-transform-translate+scale.html
     1666editing/spelling/inline_spelling_markers.html
     1667fast/box-shadow/shadow-buffer-partial.html
     1668fast/forms/form-element-geometry.html
     1669fast/forms/input-value.html
     1670fast/layers/add-layer-with-nested-stacking.html
     1671fast/layers/remove-layer-with-nested-stacking.html
     1672fast/repaint/iframe-scroll-repaint.html
     1673fast/repaint/inline-relative-positioned.html
     1674fast/repaint/lines-with-layout-delta.html
     1675fast/repaint/overflow-clip-subtree-layout.html
     1676fast/repaint/repaint-resized-overflow.html
     1677fast/repaint/search-field-cancel.html
     1678fast/repaint/subtree-layoutstate-transform.html
     1679fast/repaint/subtree-root-clip-2.html
     1680fast/repaint/subtree-root-clip.html
     1681fast/repaint/subtree-root-skipped.html
     1682fast/replaced/replaced-breaking.html
     1683fast/replaced/width100percent-searchfield.html
     1684fast/text/textIteratorNilRenderer.html
     1685compositing/geometry/object-clip-rects-assertion.html
     1686compositing/overflow/ancestor-overflow.html
     1687editing/inserting/before-after-input-element.html
     1688editing/pasteboard/4806874.html
     1689editing/pasteboard/drop-text-without-selection.html
     1690editing/pasteboard/input-field-1.html
     1691editing/selection/3690703-2.html
     1692editing/selection/3690703.html
     1693editing/selection/3690719.html
     1694editing/selection/4895428-3.html
     1695editing/selection/4975120.html
     1696editing/selection/drag-select-1.html
     1697editing/selection/expanding-selections.html
     1698editing/selection/leave-requested-block.html
     1699editing/selection/select-across-readonly-input-1.html
     1700editing/selection/select-across-readonly-input-2.html
     1701editing/selection/select-across-readonly-input-3.html
     1702editing/selection/select-across-readonly-input-4.html
     1703editing/selection/select-across-readonly-input-5.html
     1704fast/block/float/032.html
     1705fast/block/float/033.html
     1706fast/block/float/avoidance-rtl.html
     1707fast/block/float/float-not-removed-from-next-sibling3.html
     1708fast/block/float/float-overflow-hidden-containing-block-width.html
     1709fast/block/float/in-margin.html
     1710fast/block/float/overlapping-floats-with-overflow-hidden.html
     1711fast/block/float/shrink-to-avoid-float-complexity.html
     1712fast/block/lineboxcontain/block-font.html
     1713fast/block/lineboxcontain/block-glyphs.html
     1714fast/block/lineboxcontain/font.html
     1715fast/block/lineboxcontain/parsing-invalid.html
     1716fast/block/margin-collapse/103.html
     1717fast/clip/017.html
     1718fast/css/input-search-padding.html
     1719fast/css/invalidation-errors-2.html
     1720fast/css/invalidation-errors.html
     1721fast/css/line-height.html
     1722fast/css/nested-layers-with-hover.html
     1723fast/css/resize-single-axis.html
     1724fast/css/text-input-with-webkit-border-radius.html
     1725fast/css/text-overflow-input.html
     1726fast/dom/isindex-001.html
     1727fast/dom/isindex-002.html
     1728fast/dynamic/subtree-boundary-percent-height.html
     1729fast/dynamic/subtree-no-common-root-static-y.html
     1730fast/dynamic/subtree-table-cell-height.html
     1731fast/events/autoscroll.html
     1732fast/events/context-no-deselect.html
     1733fast/events/mouse-relative-position.html
     1734fast/forms/basic-inputs.html
     1735fast/forms/box-shadow-override.html
     1736fast/forms/encoding-test.html
     1737fast/forms/fieldset-align.html
     1738fast/forms/floating-textfield-relayout.html
     1739fast/forms/input-align.html
     1740fast/forms/input-appearance-bkcolor.html
     1741fast/forms/input-appearance-default-bkcolor.html
     1742fast/forms/input-appearance-disabled.html
     1743fast/forms/input-appearance-focus.html
     1744fast/forms/input-appearance-height.html
     1745fast/forms/input-appearance-preventDefault.html
     1746fast/forms/input-appearance-readonly.html
     1747fast/forms/input-appearance-selection.html
     1748fast/forms/input-appearance-visibility.html
     1749fast/forms/input-appearance-width.html
     1750fast/forms/input-baseline.html
     1751fast/forms/input-double-click-selection-gap-bug.html
     1752fast/forms/input-field-text-truncated.html
     1753fast/forms/input-placeholder-visibility-1.html
     1754fast/forms/input-placeholder-visibility-3.html
     1755fast/forms/input-readonly-empty.html
     1756fast/forms/input-spaces.html
     1757fast/forms/input-table.html
     1758fast/forms/input-text-click-inside.html
     1759fast/forms/input-text-click-outside.html
     1760fast/forms/input-text-option-delete.html
     1761fast/forms/input-text-self-emptying-click.html
     1762fast/forms/input-width.html
     1763fast/forms/number/input-appearance-number-rtl.html
     1764fast/forms/number/input-appearance-spinbutton-disabled-readonly.html
     1765fast/forms/number/input-appearance-spinbutton-layer.html
     1766fast/forms/placeholder-position.html
     1767fast/forms/placeholder-pseudo-style.html
     1768fast/forms/plaintext-mode-2.html
     1769fast/forms/search-cancel-button-style-sharing.html
     1770fast/forms/search-display-none-cancel-button.html
     1771fast/forms/search-rtl.html
     1772fast/forms/search-styled.html
     1773fast/forms/search-vertical-alignment.html
     1774fast/forms/searchfield-heights.html
     1775fast/forms/tabbing-input-iframe.html
     1776fast/forms/text-style-color.html
     1777fast/forms/textfield-focus-ring.html
     1778fast/forms/validation-message-appearance.html
     1779fast/forms/visual-hebrew-text-field.html
     1780fast/frames/take-focus-from-iframe.html
     1781fast/html/details-no-summary4.html
     1782fast/html/details-open-javascript.html
     1783fast/html/details-open2.html
     1784fast/html/details-open4.html
     1785fast/invalid/residual-style.html
     1786fast/layers/self-painting-outline.html
     1787fast/lists/dynamic-marker-crash.html
     1788fast/multicol/layers-split-across-columns.html
     1789fast/overflow/004.html
     1790fast/overflow/clip-rects-fixed-ancestor.html
     1791fast/overflow/line-clamp.html
     1792fast/overflow/overflow-focus-ring.html
     1793fast/repaint/layer-outline-horizontal.html
     1794fast/repaint/layer-outline.html
     1795fast/repaint/opacity-change-on-overflow-float.html
     1796fast/repaint/renderer-destruction-by-invalidateSelection-crash.html
     1797fast/repaint/subtree-root-clip-3.html
     1798fast/replaced/replaced-breaking-mixture.html
     1799fast/text/selection-painted-separately.html
     1800fast/text/selection-rect-rounding.html
     1801fast/transforms/transformed-focused-text-input.html
     1802plugins/mouse-click-plugin-clears-selection.html
     1803svg/custom/inline-svg-in-xhtml.xml
     1804svg/hixie/mixed/003.xml
     1805tables/mozilla/bugs/45621.html
     1806tables/mozilla/bugs/bug12384.html
     1807tables/mozilla/bugs/bug154780.html
     1808tables/mozilla/bugs/bug18359.html
     1809tables/mozilla/bugs/bug24200.html
     1810tables/mozilla/bugs/bug2479-2.html
     1811tables/mozilla/bugs/bug2479-3.html
     1812tables/mozilla/bugs/bug2479-4.html
     1813tables/mozilla/bugs/bug28928.html
     1814tables/mozilla/bugs/bug4382.html
     1815tables/mozilla/bugs/bug44505.html
     1816tables/mozilla/bugs/bug4527.html
     1817tables/mozilla/bugs/bug46368-1.html
     1818tables/mozilla/bugs/bug46368-2.html
     1819tables/mozilla/bugs/bug51037.html
     1820tables/mozilla/bugs/bug55545.html
     1821tables/mozilla/bugs/bug7342.html
     1822tables/mozilla/bugs/bug99948.html
     1823tables/mozilla/dom/tableDom.html
     1824tables/mozilla/other/move_row.html
     1825tables/mozilla_expected_failures/bugs/bug106966.html
     1826tables/mozilla_expected_failures/bugs/bug45621.html
     1827tables/mozilla_expected_failures/bugs/bug92647-1.html
     1828fast/replaced/width100percent-textfield.html
     1829fast/speech/input-appearance-searchandspeech.html
     1830fast/speech/input-appearance-speechbutton.html
     1831fast/speech/speech-bidi-rendering.html
     1832fast/table/003.html
     1833fast/table/029.html
     1834fast/table/colspanMinWidth-vertical.html
     1835fast/table/colspanMinWidth.html
     1836fast/table/overflowHidden.html
     1837fast/table/spanOverlapRepaint.html
     1838fast/table/text-field-baseline.html
     1839tables/mozilla/bugs/bug1188.html
  • trunk/Source/WebCore/ChangeLog

    r110071 r110072  
     12012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
     2
     3        Lazily allocate overflow: hidden layers if we have overflowing content
     4        https://bugs.webkit.org/show_bug.cgi?id=75568
     5
     6        Reviewed by David Hyatt.
     7
     8        Change covered by the existing tests and the tons of rebaselines.
     9
     10        This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
     11
     12        Apart from saving some memory, it will also speed up the rendering as we don't need to
     13        go through the layer's machinery when painting and hit testing.
     14
     15        On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
     16        overflow: hidden case in par with the overflow: visible case when scrolling that is a
     17        very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
     18
     19        * rendering/RenderBlock.cpp:
     20        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
     21        Changed this method to update our size cache if needed.
     22
     23        * rendering/RenderBlock.cpp:
     24        (WebCore::RenderBlock::layoutBlock):
     25        (WebCore::RenderBlock::paint):
     26        (WebCore::RenderBlock::isPointInOverflowControl):
     27        * rendering/RenderBlock.h:
     28        (RenderBlock):
     29        * rendering/RenderBox.cpp:
     30        (WebCore::RenderBox::willBeDestroyed):
     31        (WebCore::RenderBox::styleDidChange):
     32        (WebCore::RenderBox::layout):
     33        (WebCore::RenderBox::scrollWidth):
     34        (WebCore::RenderBox::scrollHeight):
     35        (WebCore::RenderBox::scrollLeft):
     36        (WebCore::RenderBox::scrollTop):
     37        (WebCore::RenderBox::setScrollLeft):
     38        (WebCore::RenderBox::setScrollTop):
     39        (WebCore::RenderBox::includeVerticalScrollbarSize):
     40        (WebCore::RenderBox::includeHorizontalScrollbarSize):
     41        (WebCore::RenderBox::scrolledContentOffset):
     42        (WebCore::RenderBox::pushContentsClip):
     43        (WebCore::RenderBox::popContentsClip):
     44        (WebCore::RenderBox::addLayoutOverflow):
     45        Added layer() check to the previous call sites.
     46
     47        (WebCore::cachedSizeForOverflowClipMap):
     48        (WebCore::RenderBox::cachedSizeForOverflowClip):
     49        (WebCore::RenderBox::updateCachedSizeForOverflowClip):
     50        (WebCore::RenderBox::clearCachedSizeForOverflowClip):
     51        This logic stores the size information for later repainting.
     52        It is in practice replicating what RenderLayer is doing.
     53        I had to disable an ASSERT here as it would trigger in NRWT but
     54        not under DRT. I haven't found by code inspection what was wrong.
     55
     56        * rendering/RenderBox.h:
     57        (WebCore::RenderBox::hasOverflowClipWithLayer):
     58        Helper function.
     59
     60        (WebCore::RenderBox::requiresLayerForOverflowClip):
     61        This determines if we can survive without a RenderLayer. For the moment,
     62        it is very conservative.
     63
     64        (WebCore::RenderBox::requiresLayer):
     65        Updated to call requiresLayerForOverflowClip.
     66
     67        * rendering/RenderBoxModelObject.cpp:
     68        (WebCore::RenderBoxModelObject::ensureLayer):
     69        Added this function to create and add a new layer.
     70
     71        (WebCore::RenderBoxModelObject::willBeDestroyed):
     72        (WebCore::RenderBoxModelObject::styleDidChange):
     73        Patched those method to handle updating / removing
     74        cached size entries.
     75
     76        * rendering/RenderBoxModelObject.h:
     77        (WebCore::RenderBoxModelObject::requiresLayer):
     78        Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
     79        overflow clips.
     80
     81        * rendering/RenderTableRow.h:
     82        (WebCore::RenderTableRow::requiresLayer):
     83        Added a comment about why we need a layout for table rows.
     84
     85        * rendering/RenderDeprecatedFlexibleBox.cpp:
     86        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
     87        * rendering/RenderFlexibleBox.cpp:
     88        (WebCore::RenderFlexibleBox::layoutBlock):
     89        * rendering/RenderTableSection.cpp:
     90        (WebCore::RenderTableSection::layout):
     91        Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
     92        or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
     93        not tight proof and would need to be rethought to not avoid cases.
     94
    1952012-03-07  Konrad Piascik  <kpiascik@rim.com>
    296
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r109806 r110072  
    13661366void RenderBlock::updateScrollInfoAfterLayout()
    13671367{
    1368     if (hasOverflowClip()) {
    1369         if (gDelayUpdateScrollInfo)
    1370             gDelayedUpdateScrollInfoSet->add(this);
    1371         else
    1372             layer()->updateScrollInfoAfterLayout();
    1373     }
     1368    if (!hasOverflowClip())
     1369        return;
     1370
     1371    if (!hasLayer()) {
     1372        updateCachedSizeForOverflowClip();
     1373        return;
     1374    }
     1375
     1376    if (gDelayUpdateScrollInfo)
     1377        gDelayedUpdateScrollInfoSet->add(this);
     1378    else
     1379        layer()->updateScrollInfoAfterLayout();
    13741380}
    13751381
     
    16001606        repaintRect.inflate(maximalOutlineSize(PaintPhaseOutline));
    16011607       
    1602         if (hasOverflowClip()) {
     1608        if (hasOverflowClipWithLayer()) {
    16031609            // Adjust repaint rect for scroll offset
    16041610            repaintRect.move(-scrolledContentOffset());
     
    26332639    // z-index.  We paint after we painted the background/border, so that the scrollbars will
    26342640    // sit above the background/border.
    2635     if (hasOverflowClip() && style()->visibility() == VISIBLE && (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) && paintInfo.shouldPaintWithinRoot(this))
     2641    if (hasOverflowClipWithLayer() && style()->visibility() == VISIBLE && (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) && paintInfo.shouldPaintWithinRoot(this))
    26362642        layer()->paintOverflowControls(paintInfo.context, roundedIntPoint(adjustedPaintOffset), paintInfo.rect);
    26372643}
     
    44634469bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
    44644470{
    4465     if (!scrollsOverflow())
     4471    if (!scrollsOverflow() || !hasLayer())
    44664472        return false;
    44674473
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r109658 r110072  
    382382    virtual void willBeDestroyed();
    383383
     384    void updateScrollInfoAfterLayout();
     385
    384386    // These functions are only used internally to manipulate the render tree structure via remove/insert/appendChildNode.
    385387    // Since they are typically called only to move objects around within anonymous blocks (which only have layers in
     
    843845    bool expandsToEncloseOverhangingFloats() const;
    844846
    845     void updateScrollInfoAfterLayout();
    846 
    847847    RenderObject* splitAnonymousBlocksAroundChild(RenderObject* beforeChild);
    848848    RenderObject* splitTablePartsAroundChild(RenderObject* beforeChild);
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r109835 r110072  
    264264    ASSERT(!RenderBlock::hasPercentHeightDescendant(this));
    265265
     266    if (hasOverflowClip() && everHadLayout() && !hasLayer())
     267        clearCachedSizeForOverflowClip();
     268
    266269    RenderBoxModelObject::willBeDestroyed();
    267270}
     
    361364    // If our zoom factor changes and we have a defined scrollLeft/Top, we need to adjust that value into the
    362365    // new zoomed coordinate space.
    363     if (hasOverflowClip() && oldStyle && newStyle && oldStyle->effectiveZoom() != newStyle->effectiveZoom()) {
     366    if (hasOverflowClipWithLayer() && oldStyle && newStyle && oldStyle->effectiveZoom() != newStyle->effectiveZoom()) {
    364367        if (int left = layer()->scrollXOffset()) {
    365368            left = (left / oldStyle->effectiveZoom()) * newStyle->effectiveZoom();
     
    464467    }
    465468    statePusher.pop();
     469
     470    if (hasOverflowClip() && !hasLayer())
     471        updateCachedSizeForOverflowClip();
     472
    466473    setNeedsLayout(false);
    467474}
     
    491498int RenderBox::scrollWidth() const
    492499{
    493     if (hasOverflowClip())
     500    if (hasOverflowClipWithLayer())
    494501        return layer()->scrollWidth();
    495502    // For objects with visible overflow, this matches IE.
     
    502509int RenderBox::scrollHeight() const
    503510{
    504     if (hasOverflowClip())
     511    if (hasOverflowClipWithLayer())
    505512        return layer()->scrollHeight();
    506513    // For objects with visible overflow, this matches IE.
     
    511518int RenderBox::scrollLeft() const
    512519{
    513     return hasOverflowClip() ? layer()->scrollXOffset() : 0;
     520    return hasOverflowClipWithLayer() ? layer()->scrollXOffset() : 0;
    514521}
    515522
    516523int RenderBox::scrollTop() const
    517524{
    518     return hasOverflowClip() ? layer()->scrollYOffset() : 0;
     525    return hasOverflowClipWithLayer() ? layer()->scrollYOffset() : 0;
    519526}
    520527
    521528void RenderBox::setScrollLeft(int newLeft)
    522529{
    523     if (hasOverflowClip())
     530    if (hasOverflowClipWithLayer())
    524531        layer()->scrollToXOffset(newLeft, RenderLayer::ScrollOffsetClamped);
    525532}
     
    527534void RenderBox::setScrollTop(int newTop)
    528535{
    529     if (hasOverflowClip())
     536    if (hasOverflowClipWithLayer())
    530537        layer()->scrollToYOffset(newTop, RenderLayer::ScrollOffsetClamped);
    531538}
     
    652659bool RenderBox::includeVerticalScrollbarSize() const
    653660{
    654     return hasOverflowClip() && !layer()->hasOverlayScrollbars()
     661    return hasOverflowClipWithLayer() && !layer()->hasOverlayScrollbars()
    655662        && (style()->overflowY() == OSCROLL || style()->overflowY() == OAUTO);
    656663}
     
    658665bool RenderBox::includeHorizontalScrollbarSize() const
    659666{
    660     return hasOverflowClip() && !layer()->hasOverlayScrollbars()
     667    return hasOverflowClipWithLayer() && !layer()->hasOverlayScrollbars()
    661668        && (style()->overflowX() == OSCROLL || style()->overflowX() == OAUTO);
    662669}
     
    750757{
    751758    ASSERT(hasOverflowClip());
    752     ASSERT(hasLayer());
    753     return layer()->scrolledContentOffset();
     759
     760    if (hasLayer())
     761        return layer()->scrolledContentOffset();
     762
     763    // If we have no layer, it means that we have no overflowing content as we lazily
     764    // allocate it on demand. Thus we don't have any scroll offset.
     765    ASSERT(!requiresLayerForOverflowClip());
     766    return LayoutSize();
     767}
     768
     769typedef HashMap<const RenderBox*, LayoutSize> RendererSizeCache;
     770static RendererSizeCache& cachedSizeForOverflowClipMap()
     771{
     772    DEFINE_STATIC_LOCAL(RendererSizeCache, cachedSizeForOverflowClipMap, ());
     773    return cachedSizeForOverflowClipMap;
    754774}
    755775
     
    757777{
    758778    ASSERT(hasOverflowClip());
    759     ASSERT(hasLayer());
    760 
    761     return layer()->size();
     779    if (hasLayer())
     780        return layer()->size();
     781
     782    ASSERT(!requiresLayerForOverflowClip());
     783    RendererSizeCache::iterator it = cachedSizeForOverflowClipMap().find(this);
     784    if (it == cachedSizeForOverflowClipMap().end())
     785        return LayoutSize();
     786
     787    return it->second;
     788}
     789
     790void RenderBox::updateCachedSizeForOverflowClip()
     791{
     792    ASSERT(hasOverflowClip());
     793    ASSERT(!requiresLayerForOverflowClip());
     794    ASSERT(!hasLayer());
     795
     796    cachedSizeForOverflowClipMap().set(this, size());
     797}
     798
     799void RenderBox::clearCachedSizeForOverflowClip()
     800{
     801    ASSERT(hasOverflowClip());
     802    ASSERT(!requiresLayerForOverflowClip());
     803    ASSERT(!hasLayer());
     804
     805    // FIXME: We really would like to enable this ASSERT. However the current updateScrollInfoAfterLayout
     806    // is not bullet-proof and it triggers in non-obvious ways under NRWT.
     807    // ASSERT(cachedSizeForOverflowClipMap().contains(this));
     808    cachedSizeForOverflowClipMap().remove(this);
    762809}
    763810
     
    11911238       
    11921239    bool isControlClip = hasControlClip();
    1193     bool isOverflowClip = hasOverflowClip() && !layer()->isSelfPaintingLayer();
     1240    bool isOverflowClip = hasOverflowClip() && !hasSelfPaintingLayer();
    11941241   
    11951242    if (!isControlClip && !isOverflowClip)
     
    12131260void RenderBox::popContentsClip(PaintInfo& paintInfo, PaintPhase originalPhase, const LayoutPoint& accumulatedOffset)
    12141261{
    1215     ASSERT(hasControlClip() || (hasOverflowClip() && !layer()->isSelfPaintingLayer()));
     1262    ASSERT(hasControlClip() || (hasOverflowClip() && !hasSelfPaintingLayer()));
    12161263
    12171264    paintInfo.context->restore();
     
    36873734        m_overflow = adoptPtr(new RenderOverflow(clientBox, borderBoxRect()));
    36883735   
     3736    // Lazily allocate our layer as we will need it to hold our scroll information.
     3737    if (hasOverflowClip())
     3738        ensureLayer();
     3739
    36893740    m_overflow->addLayoutOverflow(overflowRect);
    36903741}
  • trunk/Source/WebCore/rendering/RenderBox.h

    r109835 r110072  
    4343    virtual ~RenderBox();
    4444
     45    virtual bool requiresLayer() const OVERRIDE { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || requiresLayerForOverflowClip() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
     46    bool requiresLayerForOverflowClip() const;
     47
     48    bool hasOverflowClipWithLayer() const { return hasOverflowClip() && hasLayer(); }
     49
    4550    // Use this with caution! No type checking is done!
    4651    RenderBox* firstChildBox() const;
     
    452457    IntSize scrolledContentOffset() const;
    453458    IntSize cachedSizeForOverflowClip() const;
     459    void updateCachedSizeForOverflowClip();
     460    void clearCachedSizeForOverflowClip();
    454461
    455462    virtual bool hasRelativeDimensions() const;
     
    605612}
    606613
     614inline bool RenderBox::requiresLayerForOverflowClip() const
     615{
     616    if (!hasOverflowClip())
     617        return false;
     618
     619    // FIXME: overflow: auto could also lazily create its layer but some repainting
     620    // issues are arising from that.
     621    bool onlyOverflowHidden = style()->overflowX() == OHIDDEN && style()->overflowY() == OHIDDEN;
     622
     623    // Currently {push|pop}ContentsClip do not handle properly all cases involving a clip
     624    // with a border radius so we need a RenderLayer to handle them.
     625    return !onlyOverflowHidden || style()->hasBorderRadius();
     626}
     627
    607628} // namespace WebCore
    608629
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp

    r109867 r110072  
    355355}
    356356
     357void RenderBoxModelObject::ensureLayer()
     358{
     359    if (m_layer)
     360        return;
     361
     362    m_layer = new (renderArena()) RenderLayer(this);
     363    setHasLayer(true);
     364    m_layer->insertOnlyThisLayer();
     365}
     366
    357367void RenderBoxModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
    358368{
    359369    RenderObject::styleDidChange(diff, oldStyle);
    360370    updateBoxModelInfoFromStyle();
    361    
     371
    362372    if (requiresLayer()) {
    363373        if (!layer() && layerCreationAllowedForSubtree()) {
    364374            if (s_wasFloating && isFloating())
    365375                setChildNeedsLayout(true);
    366             m_layer = new (renderArena()) RenderLayer(this);
    367             setHasLayer(true);
    368             m_layer->insertOnlyThisLayer();
     376
     377            ensureLayer();
     378
    369379            if (parent() && !needsLayout() && containingBlock()) {
    370380                m_layer->setRepaintStatus(NeedsFullRepaint);
     
    388398        if (s_hadLayer && layer()->isSelfPaintingLayer() != s_layerWasSelfPainting)
    389399            setChildNeedsLayout(true);
     400        if (hasOverflowClip())
     401            toRenderBox(this)->updateCachedSizeForOverflowClip();
    390402    }
    391403}
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.h

    r109867 r110072  
    7575    bool hasSelfPaintingLayer() const;
    7676    RenderLayer* layer() const { return m_layer; }
    77     virtual bool requiresLayer() const { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
     77    virtual bool requiresLayer() const { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
    7878
    7979    // This will work on inlines to return the bounding box of all of the lines' border boxes.
     
    209209    RenderObject* firstLetterRemainingText() const;
    210210    void setFirstLetterRemainingText(RenderObject*);
     211
     212    void ensureLayer();
    211213
    212214private:
  • trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp

    r109805 r110072  
    306306    // Update our scrollbars if we're overflow:auto/scroll/hidden now that we know if
    307307    // we overflow or not.
    308     if (hasOverflowClip())
    309         layer()->updateScrollInfoAfterLayout();
     308    updateScrollInfoAfterLayout();
    310309
    311310    // Repaint with our new bounds if they are different from our old bounds.
  • trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp

    r110007 r110072  
    250250    // Update our scroll information if we're overflow:auto/scroll/hidden now that we know if
    251251    // we overflow or not.
    252     if (hasOverflowClip())
    253         layer()->updateScrollInfoAfterLayout();
     252    updateScrollInfoAfterLayout();
    254253
    255254    repainter.repaintAfterLayout();
  • trunk/Source/WebCore/rendering/RenderTableRow.h

    r109383 r110072  
    5858    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
    5959
    60     virtual bool requiresLayer() const { return isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasFilter(); }
     60    // We need to allocate a layer whenever we have an overflow clip as RenderTableSection::paintObject does not push rows' clips.
     61    virtual bool requiresLayer() const OVERRIDE { return isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasFilter(); }
    6162
    6263    virtual void paint(PaintInfo&, const LayoutPoint&);
  • trunk/Source/WebCore/rendering/RenderTableSection.cpp

    r109818 r110072  
    418418    }
    419419    statePusher.pop();
     420
     421    if (hasOverflowClip() && !hasLayer())
     422        updateCachedSizeForOverflowClip();
     423
    420424    setNeedsLayout(false);
    421425}
Note: See TracChangeset for help on using the changeset viewer.