Changeset 109367 in webkit


Ignore:
Timestamp:
Mar 1, 2012 10:46:56 AM (12 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::styleDidChange):
(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::pushContentsClip):
(WebCore::RenderBox::popContentsClip):
(WebCore::RenderBox::addLayoutOverflow):
Added layer() check to the previous call sites.

  • rendering/RenderBoxModelObject.cpp:

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

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

(WebCore::cachedSizeForOverflowClipMap):
(WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
(WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
(WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
This logic stores the size information for later repainting.
It is in practice replicating what RenderLayer is doing.

  • rendering/RenderBoxModelObject.h:

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

(WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
Added this method to check if we can lazily allocate the layer.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
Removed some checks as they are part of updateScrollInfoAfterLayout.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::scrolledContentOffset):
Added a layer() check.

  • rendering/RenderTableRow.h:

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

LayoutTests:

  • platform/chromium-win/fast/repaint/iframe-scroll-repaint-expected.png:

This test really doesn't seem to test much on all platforms. The new expected result is as
good as the original from a correctness perspective. It just means we now do repaint the whole
iframe when scrolling.

  • 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:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r109362 r109367  
     12012-03-01  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-win/fast/repaint/iframe-scroll-repaint-expected.png:
     9        This test really doesn't seem to test much on all platforms. The new expected result is as
     10        good as the original from a correctness perspective. It just means we now do repaint the whole
     11        iframe when scrolling.
     12
     13        * platform/chromium/test_expectations.txt:
     14        * platform/efl/test_expectations.txt:
     15        * platform/gtk/test_expectations.txt:
     16        * platform/mac/test_expectations.txt:
     17        * platform/qt/test_expectations.txt:
     18        * platform/win/Skipped:
     19        Disable gazillions tests that need a small rebaseline after losing some layers. The expectations are
     20        updated to match each platform as best as I could but expect some breakage...
     21
    1222012-03-01  Abhishek Arya  <inferno@chromium.org>
    223
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r109316 r109367  
    14281428BUGCR23473 MAC : fast/repaint/rel-positioned-inline-with-overflow.html = IMAGE
    14291429BUGCR23473 MAC : fast/repaint/repaint-resized-overflow.html = IMAGE
    1430 BUGCR23473 MAC : fast/repaint/search-field-cancel.html = IMAGE
    14311430BUGCR23473 MAC : fast/repaint/selection-after-delete.html = IMAGE
    14321431BUGCR23473 MAC : fast/repaint/selection-clear.html = IMAGE
     
    14601459BUGCR23473 MAC : fast/repaint/transform-replaced-shadows.html = IMAGE
    14611460BUGCR23473 MAC : fast/repaint/transform-translate.html = IMAGE
     1461
     1462// Text rebaseline needed after BUGWK75568
     1463BUGCR23473 MAC : fast/repaint/search-field-cancel.html = IMAGE+TEXT
    14621464
    14631465// Thicker shadow than expected
     
    23572359BUG_DRT DEBUG : fast/frames/calculate-round.html = PASS TIMEOUT
    23582360BUGCR43890 SLOW DEBUG : fast/forms/implicit-submission.html = PASS TEXT
    2359 BUG_DRT : fast/repaint/iframe-scroll-repaint.html = IMAGE
     2361// Rebaseline needed after BUGWK75568
     2362BUG_DRT : fast/repaint/iframe-scroll-repaint.html = IMAGE+TEXT
    23602363BUG_DRT LINUX : fast/repaint/repaint-across-writing-mode-boundary.html = IMAGE
    23612364BUG_DRT LINUX : fast/text/justification-padding-mid-word.html = PASS TEXT
     
    44384441
    44394442BUGWK79956 SKIP : platform/chromium/virtual/gpu = PASS
     4443
     4444// Need text rebaseline after lazily allocating layers.
     4445// The difference should be only layer removal, no size or position should change.
     4446
     4447// Those tests have other entries in our expectations filed and may not totally covers
     4448BUGWK75568 RELEASE : animations/combo-transform-translate+scale.html = TEXT
     4449BUGWK75568 LINUX DEBUG : animations/combo-transform-translate+scale.html = TEXT
     4450BUGWK75568 WIN LINUX : editing/spelling/inline_spelling_markers.html = TEXT
     4451BUGWK75568 GPU : fast/box-shadow/shadow-buffer-partial.html = TEXT
     4452BUGWK75568 WIN LINUX : fast/forms/form-element-geometry.html = TEXT
     4453BUGWK75568 WIN LINUX : fast/forms/input-value.html = TEXT
     4454BUGWK75568 WIN LINUX : fast/layers/add-layer-with-nested-stacking.html = TEXT
     4455BUGWK75568 WIN LINUX : fast/layers/remove-layer-with-nested-stacking.html = TEXT
     4456BUGWK75568 WIN LINUX : fast/repaint/inline-relative-positioned.html = TEXT
     4457BUGWK75568 WIN LINUX : fast/repaint/lines-with-layout-delta.html = TEXT
     4458BUGWK75568 WIN LINUX : fast/repaint/overflow-clip-subtree-layout.html = TEXT
     4459BUGWK75568 WIN LINUX : fast/repaint/repaint-resized-overflow.html = TEXT
     4460BUGWK75568 WIN : fast/repaint/search-field-cancel.html = TEXT
     4461BUGWK75568 WIN LINUX : fast/repaint/subtree-layoutstate-transform.html = TEXT
     4462BUGWK75568 WIN LINUX : fast/repaint/subtree-root-clip-2.html = TEXT
     4463BUGWK75568 WIN LINUX : fast/repaint/subtree-root-clip.html = TEXT
     4464BUGWK75568 WIN LINUX : fast/repaint/subtree-root-skipped.html = TEXT
     4465BUGWK75568 WIN LINUX : fast/replaced/replaced-breaking.html = TEXT
     4466BUGWK75568 WIN LINUX : fast/replaced/width100percent-searchfield.html = TEXT
     4467BUGWK75568 WIN LINUX : fast/text/textIteratorNilRenderer.html = TEXT
     4468
     4469// Those tests need a text baseline after lazily allocating layers.
     4470// The change should only be layer removal.
     4471BUGWK75568 : compositing/geometry/object-clip-rects-assertion.html = TEXT
     4472BUGWK75568 : compositing/overflow/ancestor-overflow.html = TEXT
     4473BUGWK75568 : editing/inserting/before-after-input-element.html = TEXT
     4474BUGWK75568 : editing/pasteboard/4806874.html = TEXT
     4475BUGWK75568 : editing/pasteboard/drop-text-without-selection.html = TEXT
     4476BUGWK75568 : editing/pasteboard/input-field-1.html = TEXT
     4477BUGWK75568 : editing/selection/3690703-2.html = TEXT
     4478BUGWK75568 : editing/selection/3690703.html = TEXT
     4479BUGWK75568 : editing/selection/3690719.html = TEXT
     4480BUGWK75568 : editing/selection/4895428-3.html = TEXT
     4481BUGWK75568 : editing/selection/4975120.html = TEXT
     4482BUGWK75568 : editing/selection/drag-select-1.html = TEXT
     4483BUGWK75568 : editing/selection/expanding-selections.html = TEXT
     4484BUGWK75568 : editing/selection/leave-requested-block.html = TEXT
     4485BUGWK75568 : editing/selection/select-across-readonly-input-1.html = TEXT
     4486BUGWK75568 : editing/selection/select-across-readonly-input-2.html = TEXT
     4487BUGWK75568 : editing/selection/select-across-readonly-input-3.html = TEXT
     4488BUGWK75568 : editing/selection/select-across-readonly-input-4.html = TEXT
     4489BUGWK75568 : editing/selection/select-across-readonly-input-5.html = TEXT
     4490BUGWK75568 : fast/block/float/032.html = TEXT
     4491BUGWK75568 : fast/block/float/033.html = TEXT
     4492BUGWK75568 : fast/block/float/avoidance-rtl.html = TEXT
     4493BUGWK75568 : fast/block/float/float-not-removed-from-next-sibling3.html = TEXT
     4494BUGWK75568 : fast/block/float/float-overflow-hidden-containing-block-width.html = TEXT
     4495BUGWK75568 : fast/block/float/in-margin.html = TEXT
     4496BUGWK75568 : fast/block/float/overlapping-floats-with-overflow-hidden.html = TEXT
     4497BUGWK75568 : fast/block/float/shrink-to-avoid-float-complexity.html = TEXT
     4498BUGWK75568 : fast/block/lineboxcontain/block-font.html = TEXT
     4499BUGWK75568 : fast/block/lineboxcontain/block-glyphs.html = TEXT
     4500BUGWK75568 : fast/block/lineboxcontain/font.html = TEXT
     4501BUGWK75568 : fast/block/lineboxcontain/parsing-invalid.html = TEXT
     4502BUGWK75568 : fast/block/margin-collapse/103.html = TEXT
     4503BUGWK75568 : fast/clip/017.html = TEXT
     4504BUGWK75568 : fast/css/input-search-padding.html = TEXT
     4505BUGWK75568 : fast/css/invalidation-errors-2.html = TEXT
     4506BUGWK75568 : fast/css/invalidation-errors.html = TEXT
     4507BUGWK75568 : fast/css/line-height.html = TEXT
     4508BUGWK75568 : fast/css/nested-layers-with-hover.html = TEXT
     4509BUGWK75568 : fast/css/resize-single-axis.html = TEXT
     4510BUGWK75568 : fast/css/text-input-with-webkit-border-radius.html = TEXT
     4511BUGWK75568 : fast/css/text-overflow-input.html = TEXT
     4512BUGWK75568 : fast/dom/isindex-001.html = TEXT
     4513BUGWK75568 : fast/dom/isindex-002.html = TEXT
     4514BUGWK75568 : fast/dynamic/subtree-boundary-percent-height.html = TEXT
     4515BUGWK75568 : fast/dynamic/subtree-no-common-root-static-y.html = TEXT
     4516BUGWK75568 : fast/dynamic/subtree-table-cell-height.html = TEXT
     4517BUGWK75568 : fast/events/autoscroll.html = TEXT
     4518BUGWK75568 : fast/events/context-no-deselect.html = TEXT
     4519BUGWK75568 : fast/events/mouse-relative-position.html = TEXT
     4520BUGWK75568 : fast/forms/basic-inputs.html = TEXT
     4521BUGWK75568 : fast/forms/box-shadow-override.html = TEXT
     4522BUGWK75568 : fast/forms/encoding-test.html = TEXT
     4523BUGWK75568 : fast/forms/fieldset-align.html = TEXT
     4524BUGWK75568 : fast/forms/floating-textfield-relayout.html = TEXT
     4525BUGWK75568 : fast/forms/input-align.html = TEXT
     4526BUGWK75568 : fast/forms/input-appearance-bkcolor.html = TEXT
     4527BUGWK75568 : fast/forms/input-appearance-default-bkcolor.html = TEXT
     4528BUGWK75568 : fast/forms/input-appearance-disabled.html = TEXT
     4529BUGWK75568 : fast/forms/input-appearance-focus.html = TEXT
     4530BUGWK75568 : fast/forms/input-appearance-height.html = TEXT
     4531BUGWK75568 : fast/forms/input-appearance-preventDefault.html = TEXT
     4532BUGWK75568 : fast/forms/input-appearance-readonly.html = TEXT
     4533BUGWK75568 : fast/forms/input-appearance-selection.html = TEXT
     4534BUGWK75568 : fast/forms/input-appearance-visibility.html = TEXT
     4535BUGWK75568 : fast/forms/input-appearance-width.html = TEXT
     4536BUGWK75568 : fast/forms/input-baseline.html = TEXT
     4537BUGWK75568 : fast/forms/input-double-click-selection-gap-bug.html = TEXT
     4538BUGWK75568 : fast/forms/input-field-text-truncated.html = TEXT
     4539BUGWK75568 : fast/forms/input-placeholder-visibility-1.html = TEXT
     4540BUGWK75568 : fast/forms/input-placeholder-visibility-3.html = TEXT
     4541BUGWK75568 : fast/forms/input-readonly-empty.html = TEXT
     4542BUGWK75568 : fast/forms/input-spaces.html = TEXT
     4543BUGWK75568 : fast/forms/input-table.html = TEXT
     4544BUGWK75568 : fast/forms/input-text-click-inside.html = TEXT
     4545BUGWK75568 : fast/forms/input-text-click-outside.html = TEXT
     4546BUGWK75568 : fast/forms/input-text-option-delete.html = TEXT
     4547BUGWK75568 : fast/forms/input-text-self-emptying-click.html = TEXT
     4548BUGWK75568 : fast/forms/input-width.html = TEXT
     4549BUGWK75568 : fast/forms/number/input-appearance-number-rtl.html = TEXT
     4550BUGWK75568 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
     4551BUGWK75568 : fast/forms/number/input-appearance-spinbutton-layer.html = TEXT
     4552BUGWK75568 : fast/forms/placeholder-position.html = TEXT
     4553BUGWK75568 : fast/forms/placeholder-pseudo-style.html = TEXT
     4554BUGWK75568 : fast/forms/plaintext-mode-2.html = TEXT
     4555BUGWK75568 : fast/forms/search-cancel-button-style-sharing.html = TEXT
     4556BUGWK75568 : fast/forms/search-display-none-cancel-button.html = TEXT
     4557BUGWK75568 : fast/forms/search-rtl.html = TEXT
     4558BUGWK75568 : fast/forms/search-styled.html = TEXT
     4559BUGWK75568 : fast/forms/search-vertical-alignment.html = TEXT
     4560BUGWK75568 : fast/forms/searchfield-heights.html = TEXT
     4561BUGWK75568 : fast/forms/tabbing-input-iframe.html = TEXT
     4562BUGWK75568 : fast/forms/text-style-color.html = TEXT
     4563BUGWK75568 : fast/forms/textfield-focus-ring.html = TEXT
     4564BUGWK75568 : fast/forms/validation-message-appearance.html = TEXT
     4565BUGWK75568 : fast/forms/visual-hebrew-text-field.html = TEXT
     4566BUGWK75568 : fast/frames/take-focus-from-iframe.html = TEXT
     4567BUGWK75568 : fast/html/details-no-summary4.html = TEXT
     4568BUGWK75568 : fast/html/details-open-javascript.html = TEXT
     4569BUGWK75568 : fast/html/details-open2.html = TEXT
     4570BUGWK75568 : fast/html/details-open4.html = TEXT
     4571BUGWK75568 : fast/invalid/residual-style.html = TEXT
     4572BUGWK75568 : fast/layers/self-painting-outline.html = TEXT
     4573BUGWK75568 : fast/lists/dynamic-marker-crash.html = TEXT
     4574BUGWK75568 : fast/multicol/layers-split-across-columns.html = TEXT
     4575BUGWK75568 : fast/overflow/004.html = TEXT
     4576BUGWK75568 : fast/overflow/clip-rects-fixed-ancestor.html = TEXT
     4577BUGWK75568 : fast/overflow/line-clamp.html = TEXT
     4578BUGWK75568 : fast/overflow/overflow-focus-ring.html = TEXT
     4579BUGWK75568 : fast/repaint/layer-outline-horizontal.html = TEXT
     4580BUGWK75568 : fast/repaint/layer-outline.html = TEXT
     4581BUGWK75568 : fast/repaint/opacity-change-on-overflow-float.html = TEXT
     4582BUGWK75568 : fast/repaint/renderer-destruction-by-invalidateSelection-crash.html = TEXT
     4583BUGWK75568 : fast/repaint/subtree-root-clip-3.html = TEXT
     4584BUGWK75568 : fast/replaced/replaced-breaking-mixture.html = TEXT
     4585BUGWK75568 : fast/text/selection-painted-separately.html = TEXT
     4586BUGWK75568 : fast/text/selection-rect-rounding.html = TEXT
     4587BUGWK75568 : fast/transforms/transformed-focused-text-input.html = TEXT
     4588BUGWK75568 : plugins/mouse-click-plugin-clears-selection.html = TEXT
     4589BUGWK75568 : svg/custom/inline-svg-in-xhtml.xml = TEXT
     4590BUGWK75568 : svg/hixie/mixed/003.xml = TEXT
     4591BUGWK75568 : tables/mozilla/bugs/45621.html = TEXT
     4592BUGWK75568 : tables/mozilla/bugs/bug12384.html = TEXT
     4593BUGWK75568 : tables/mozilla/bugs/bug154780.html = TEXT
     4594BUGWK75568 : tables/mozilla/bugs/bug18359.html = TEXT
     4595BUGWK75568 : tables/mozilla/bugs/bug24200.html = TEXT
     4596BUGWK75568 : tables/mozilla/bugs/bug2479-2.html = TEXT
     4597BUGWK75568 : tables/mozilla/bugs/bug2479-3.html = TEXT
     4598BUGWK75568 : tables/mozilla/bugs/bug2479-4.html = TEXT
     4599BUGWK75568 : tables/mozilla/bugs/bug28928.html = TEXT
     4600BUGWK75568 : tables/mozilla/bugs/bug4382.html = TEXT
     4601BUGWK75568 : tables/mozilla/bugs/bug44505.html = TEXT
     4602BUGWK75568 : tables/mozilla/bugs/bug4527.html = TEXT
     4603BUGWK75568 : tables/mozilla/bugs/bug46368-1.html = TEXT
     4604BUGWK75568 : tables/mozilla/bugs/bug46368-2.html = TEXT
     4605BUGWK75568 : tables/mozilla/bugs/bug51037.html = TEXT
     4606BUGWK75568 : tables/mozilla/bugs/bug55545.html = TEXT
     4607BUGWK75568 : tables/mozilla/bugs/bug7342.html = TEXT
     4608BUGWK75568 : tables/mozilla/bugs/bug99948.html = TEXT
     4609BUGWK75568 : tables/mozilla/dom/tableDom.html = TEXT
     4610BUGWK75568 : tables/mozilla/other/move_row.html = TEXT
     4611BUGWK75568 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
     4612BUGWK75568 : tables/mozilla_expected_failures/bugs/bug45621.html = TEXT
     4613BUGWK75568 : tables/mozilla_expected_failures/bugs/bug92647-1.html = TEXT
     4614BUGWK75568 : fast/replaced/width100percent-textfield.html = TEXT
     4615BUGWK75568 : fast/speech/input-appearance-searchandspeech.html = TEXT
     4616BUGWK75568 : fast/speech/input-appearance-speechbutton.html = TEXT
     4617BUGWK75568 : fast/speech/speech-bidi-rendering.html = TEXT
     4618BUGWK75568 : fast/table/003.html = TEXT
     4619BUGWK75568 : fast/table/029.html = TEXT
     4620BUGWK75568 : fast/table/colspanMinWidth-vertical.html = TEXT
     4621BUGWK75568 : fast/table/colspanMinWidth.html = TEXT
     4622BUGWK75568 : fast/table/overflowHidden.html = TEXT
     4623BUGWK75568 : fast/table/spanOverlapRepaint.html = TEXT
     4624BUGWK75568 : fast/table/text-field-baseline.html = TEXT
     4625BUGWK75568 : tables/mozilla/bugs/bug1188.html = TEXT
  • trunk/LayoutTests/platform/efl/test_expectations.txt

    r107971 r109367  
    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

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

    r108725 r109367  
    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

    r108725 r109367  
    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

    r109359 r109367  
    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

    r109362 r109367  
     12012-03-01  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::styleDidChange):
     31        (WebCore::RenderBox::scrollWidth):
     32        (WebCore::RenderBox::scrollHeight):
     33        (WebCore::RenderBox::scrollLeft):
     34        (WebCore::RenderBox::scrollTop):
     35        (WebCore::RenderBox::setScrollLeft):
     36        (WebCore::RenderBox::setScrollTop):
     37        (WebCore::RenderBox::includeVerticalScrollbarSize):
     38        (WebCore::RenderBox::includeHorizontalScrollbarSize):
     39        (WebCore::RenderBox::pushContentsClip):
     40        (WebCore::RenderBox::popContentsClip):
     41        (WebCore::RenderBox::addLayoutOverflow):
     42        Added layer() check to the previous call sites.
     43
     44        * rendering/RenderBoxModelObject.cpp:
     45        (WebCore::RenderBoxModelObject::ensureLayer):
     46        Added this function to create and add a new layer.
     47
     48        (WebCore::RenderBoxModelObject::willBeDestroyed):
     49        (WebCore):
     50        (WebCore::RenderBoxModelObject::styleDidChange):
     51        Patched those method to handle updating / removing
     52        cached size entries.
     53
     54        (WebCore::cachedSizeForOverflowClipMap):
     55        (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
     56        (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
     57        (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
     58        This logic stores the size information for later repainting.
     59        It is in practice replicating what RenderLayer is doing.
     60
     61        * rendering/RenderBoxModelObject.h:
     62        (WebCore::RenderBoxModelObject::requiresLayer):
     63        Updated to call requiresLayerForOverflowClip.
     64
     65        (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
     66        Added this method to check if we can lazily allocate the layer.
     67
     68        * rendering/RenderDeprecatedFlexibleBox.cpp:
     69        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
     70        Removed some checks as they are part of updateScrollInfoAfterLayout.
     71
     72        * rendering/RenderObject.cpp:
     73        (WebCore::RenderObject::scrolledContentOffset):
     74        Added a layer() check.
     75
     76        * rendering/RenderTableRow.h:
     77        (RenderTableRow):
     78        Added a comment about why we need a layout for table rows.
     79
    1802012-03-01  Abhishek Arya  <inferno@chromium.org>
    281
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r109267 r109367  
    13121312void RenderBlock::updateScrollInfoAfterLayout()
    13131313{
    1314     if (hasOverflowClip()) {
    1315         if (gDelayUpdateScrollInfo)
    1316             gDelayedUpdateScrollInfoSet->add(this);
    1317         else
    1318             layer()->updateScrollInfoAfterLayout();
    1319     }
     1314    if (!hasOverflowClip())
     1315        return;
     1316
     1317    if (!hasLayer()) {
     1318        updateCachedSizeForOverflowClip();
     1319        return;
     1320    }
     1321
     1322    if (gDelayUpdateScrollInfo)
     1323        gDelayedUpdateScrollInfoSet->add(this);
     1324    else
     1325        layer()->updateScrollInfoAfterLayout();
    13201326}
    13211327
     
    15441550        repaintRect.inflate(maximalOutlineSize(PaintPhaseOutline));
    15451551       
    1546         if (hasOverflowClip()) {
     1552        if (hasOverflowClipWithLayer()) {
    15471553            // Adjust repaint rect for scroll offset
    15481554            repaintRect.move(-scrolledContentOffset());
     
    25712577    // z-index.  We paint after we painted the background/border, so that the scrollbars will
    25722578    // sit above the background/border.
    2573     if (hasOverflowClip() && style()->visibility() == VISIBLE && (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) && paintInfo.shouldPaintWithinRoot(this))
     2579    if (hasOverflowClipWithLayer() && style()->visibility() == VISIBLE && (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) && paintInfo.shouldPaintWithinRoot(this))
    25742580        layer()->paintOverflowControls(paintInfo.context, roundedIntPoint(adjustedPaintOffset), paintInfo.rect);
    25752581}
     
    44014407bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
    44024408{
    4403     if (!scrollsOverflow())
     4409    if (!scrollsOverflow() || !hasLayer())
    44044410        return false;
    44054411
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r108364 r109367  
    379379    virtual void willBeDestroyed();
    380380
     381    void updateScrollInfoAfterLayout();
     382
    381383    // These functions are only used internally to manipulate the render tree structure via remove/insert/appendChildNode.
    382384    // Since they are typically called only to move objects around within anonymous blocks (which only have layers in
     
    840842    bool expandsToEncloseOverhangingFloats() const;
    841843
    842     void updateScrollInfoAfterLayout();
    843 
    844844    RenderObject* splitAnonymousBlocksAroundChild(RenderObject* beforeChild);
    845845    RenderObject* splitTablePartsAroundChild(RenderObject* beforeChild);
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r109157 r109367  
    264264    ASSERT(!RenderBlock::hasPercentHeightDescendant(this));
    265265
     266    if (hasOverflowClip() && everHadLayout() && !layer())
     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();
     
    491494int RenderBox::scrollWidth() const
    492495{
    493     if (hasOverflowClip())
     496    if (hasOverflowClipWithLayer())
    494497        return layer()->scrollWidth();
    495498    // For objects with visible overflow, this matches IE.
     
    502505int RenderBox::scrollHeight() const
    503506{
    504     if (hasOverflowClip())
     507    if (hasOverflowClipWithLayer())
    505508        return layer()->scrollHeight();
    506509    // For objects with visible overflow, this matches IE.
     
    511514int RenderBox::scrollLeft() const
    512515{
    513     return hasOverflowClip() ? layer()->scrollXOffset() : 0;
     516    return hasOverflowClipWithLayer() ? layer()->scrollXOffset() : 0;
    514517}
    515518
    516519int RenderBox::scrollTop() const
    517520{
    518     return hasOverflowClip() ? layer()->scrollYOffset() : 0;
     521    return hasOverflowClipWithLayer() ? layer()->scrollYOffset() : 0;
    519522}
    520523
    521524void RenderBox::setScrollLeft(int newLeft)
    522525{
    523     if (hasOverflowClip())
     526    if (hasOverflowClipWithLayer())
    524527        layer()->scrollToXOffset(newLeft, RenderLayer::ScrollOffsetClamped);
    525528}
     
    527530void RenderBox::setScrollTop(int newTop)
    528531{
    529     if (hasOverflowClip())
     532    if (hasOverflowClipWithLayer())
    530533        layer()->scrollToYOffset(newTop, RenderLayer::ScrollOffsetClamped);
    531534}
     
    652655bool RenderBox::includeVerticalScrollbarSize() const
    653656{
    654     return hasOverflowClip() && !layer()->hasOverlayScrollbars()
     657    return hasOverflowClipWithLayer() && !layer()->hasOverlayScrollbars()
    655658        && (style()->overflowY() == OSCROLL || style()->overflowY() == OAUTO);
    656659}
     
    658661bool RenderBox::includeHorizontalScrollbarSize() const
    659662{
    660     return hasOverflowClip() && !layer()->hasOverlayScrollbars()
     663    return hasOverflowClipWithLayer() && !layer()->hasOverlayScrollbars()
    661664        && (style()->overflowX() == OSCROLL || style()->overflowX() == OAUTO);
    662665}
     
    750753{
    751754    ASSERT(hasOverflowClip());
    752     ASSERT(hasLayer());
    753     return layer()->scrolledContentOffset();
     755
     756    if (hasLayer())
     757        return layer()->scrolledContentOffset();
     758
     759    // If we have no layer, it means that we have no overflowing content as we lazily
     760    // allocate it on demand. Thus we don't have any scroll offset.
     761    ASSERT(!requiresLayerForOverflowClip());
     762    return LayoutSize();
     763}
     764
     765typedef HashMap<const RenderBox*, LayoutSize> RendererSizeCache;
     766static RendererSizeCache& cachedSizeForOverflowClipMap()
     767{
     768    DEFINE_STATIC_LOCAL(RendererSizeCache, cachedSizeForOverflowClipMap, ());
     769    return cachedSizeForOverflowClipMap;
    754770}
    755771
     
    757773{
    758774    ASSERT(hasOverflowClip());
    759     ASSERT(hasLayer());
    760 
    761     return layer()->size();
     775    if (hasLayer())
     776        return layer()->size();
     777
     778    ASSERT(!requiresLayerForOverflowClip());
     779    RendererSizeCache::iterator it = cachedSizeForOverflowClipMap().find(this);
     780    if (it == cachedSizeForOverflowClipMap().end())
     781        return LayoutSize();
     782
     783    return it->second;
     784}
     785
     786void RenderBox::updateCachedSizeForOverflowClip()
     787{
     788    ASSERT(hasOverflowClip());
     789    ASSERT(!requiresLayerForOverflowClip());
     790    ASSERT(!hasLayer());
     791
     792    // If we have a layer, it takes care of the caching.
     793    if (hasLayer())
     794        return;
     795
     796    ASSERT(!requiresLayerForOverflowClip());
     797    cachedSizeForOverflowClipMap().set(this, size());
     798}
     799
     800void RenderBox::clearCachedSizeForOverflowClip()
     801{
     802    ASSERT(hasOverflowClip());
     803    ASSERT(!requiresLayerForOverflowClip());
     804    ASSERT(!hasLayer());
     805
     806    ASSERT(cachedSizeForOverflowClipMap().contains(this));
     807    cachedSizeForOverflowClipMap().remove(this);
    762808}
    763809
     
    11911237       
    11921238    bool isControlClip = hasControlClip();
    1193     bool isOverflowClip = hasOverflowClip() && !layer()->isSelfPaintingLayer();
     1239    bool isOverflowClip = hasOverflowClip() && !hasSelfPaintingLayer();
    11941240   
    11951241    if (!isControlClip && !isOverflowClip)
     
    12131259void RenderBox::popContentsClip(PaintInfo& paintInfo, PaintPhase originalPhase, const LayoutPoint& accumulatedOffset)
    12141260{
    1215     ASSERT(hasControlClip() || (hasOverflowClip() && !layer()->isSelfPaintingLayer()));
     1261    ASSERT(hasControlClip() || (hasOverflowClip() && !hasSelfPaintingLayer()));
    12161262
    12171263    paintInfo.context->restore();
     
    36843730        m_overflow = adoptPtr(new RenderOverflow(clientBox, borderBoxRect()));
    36853731   
     3732    // Lazily allocate our layer as we will need it to hold our scroll information.
     3733    if (hasOverflowClip())
     3734        ensureLayer();
     3735
    36863736    m_overflow->addLayoutOverflow(overflowRect);
    36873737}
  • trunk/Source/WebCore/rendering/RenderBox.h

    r109157 r109367  
    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;
     
    450455    IntSize scrolledContentOffset() const;
    451456    IntSize cachedSizeForOverflowClip() const;
     457    void updateCachedSizeForOverflowClip();
     458    void clearCachedSizeForOverflowClip();
    452459
    453460    virtual bool hasRelativeDimensions() const;
     
    581588}
    582589
     590inline bool RenderBox::requiresLayerForOverflowClip() const
     591{
     592    if (!hasOverflowClip())
     593        return false;
     594
     595    // FIXME: overflow: auto could also lazily create its layer but some repainting
     596    // issues are arising from that.
     597    bool onlyOverflowHidden = style()->overflowX() == OHIDDEN && style()->overflowY() == OHIDDEN;
     598
     599    // Currently {push|pop}ContentsClip do not handle properly all cases involving a clip
     600    // with a border radius so we need a RenderLayer to handle them.
     601    return !onlyOverflowHidden || style()->hasBorderRadius();
     602}
     603
    583604} // namespace WebCore
    584605
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp

    r108719 r109367  
    353353}
    354354
     355void RenderBoxModelObject::ensureLayer()
     356{
     357    if (m_layer)
     358        return;
     359
     360    m_layer = new (renderArena()) RenderLayer(this);
     361    setHasLayer(true);
     362    m_layer->insertOnlyThisLayer();
     363}
     364
    355365void RenderBoxModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
    356366{
    357367    RenderObject::styleDidChange(diff, oldStyle);
    358368    updateBoxModelInfoFromStyle();
    359    
     369
    360370    if (requiresLayer()) {
    361371        if (!layer() && layerCreationAllowedForSubtree()) {
    362372            if (s_wasFloating && isFloating())
    363373                setChildNeedsLayout(true);
    364             m_layer = new (renderArena()) RenderLayer(this);
    365             setHasLayer(true);
    366             m_layer->insertOnlyThisLayer();
     374
     375            ensureLayer();
     376
    367377            if (parent() && !needsLayout() && containingBlock()) {
    368378                m_layer->setRepaintStatus(NeedsFullRepaint);
     
    378388        if (s_wasFloating && isFloating())
    379389            setChildNeedsLayout(true);
     390        if (hasOverflowClip())
     391            toRenderBox(this)->updateCachedSizeForOverflowClip();
    380392    }
    381393
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.h

    r108719 r109367  
    7373    bool hasSelfPaintingLayer() const;
    7474    RenderLayer* layer() const { return m_layer; }
    75     virtual bool requiresLayer() const { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || hasOverflowClip() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
     75    virtual bool requiresLayer() const { return isRoot() || isPositioned() || isRelPositioned() || isTransparent() || hasTransform() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
    7676
    7777    // This will work on inlines to return the bounding box of all of the lines' border boxes.
     
    207207    RenderObject* firstLetterRemainingText() const;
    208208    void setFirstLetterRemainingText(RenderObject*);
     209
     210    void ensureLayer();
    209211
    210212private:
  • trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp

    r106694 r109367  
    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/RenderTableRow.h

    r105021 r109367  
    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&);
Note: See TracChangeset for help on using the changeset viewer.