Commit 5251cbd5 authored by timothy_horton@apple.com's avatar timothy_horton@apple.com
Browse files

[mac] Stop using DrawingAreaImpl on PLATFORM(MAC)

https://bugs.webkit.org/show_bug.cgi?id=121859
<rdar://problem/15069359>

Reviewed by Anders Carlsson.

The Mac port will now use tiled drawing for all WebKit2 views.

* Shared/DrawingAreaInfo.h:
Don't include DrawingAreaTypeImpl as a valid DrawingAreaType on Mac.

* UIProcess/API/mac/WKView.mm:
(-[WKView drawRect:]):
Remove our implementation of drawRect that paints from DrawingAreaImpl's backing store.

(-[WKView _shouldUseTiledDrawingArea]):
Removed. Always treated as if it were true, now.

(-[WKView _createDrawingAreaProxy]):
Always create a TiledCoreAnimationDrawingAreaProxy now.

(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
(-[WKView wantsUpdateLayer]):
WKView always wants a layer, etc.

* UIProcess/BackingStore.h:
Remove Mac-specific BackingStore code, only used for DrawingAreaImpl on Mac.

* UIProcess/DrawingAreaProxy.h:
Remove an unneeded include.

* UIProcess/mac/BackingStoreMac.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:
Remove a bunch of files we don't need to build anymore.

* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::create):
Never create a DrawingAreaImpl on Mac.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
(WebKit::DrawingAreaImpl::resumePainting):
* WebProcess/WebPage/DrawingAreaImpl.h:
Remove Mac-specific DrawingAreaImpl code.

* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/mac/LayerTreeHostMac.h: Removed.
* WebProcess/WebPage/mac/LayerTreeHostMac.mm: Removed.

* page/FrameView.cpp:
(WebCore::FrameView::addTrackedRepaintRect):
(WebCore::FrameView::repaintContentRectangle):
* page/FrameView.h:
Factor out the coordinate conversion and appending of new repaint rects on FrameView.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
Don't dump repaint rects on the root tile cache, they'll be included at the top,
where FrameView's repaints are normally included.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
Push the root tile cache's tracked repaint rects to FrameView instead.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldUseThreadedScrolling):
(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::invoke):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useThreadedScrolling:]):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
Rename the tiled drawing switch to threaded scrolling, since that's really
all it switches now that we use tiled drawing everywhere.

Use an unbuffered window, as well, to avoid snapshotting issues on some platforms
and to more closely match the case we're interested in testing.

* platform/mac-wk2/TestExpectations:

* platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: Added.
* platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Added.
Add WebKit2 results, because we dump non-white background color on the root layer now.

* platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: Added.
New WebKit2 result; repaint rects are showing up now.

* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
Slightly adjusted results.

* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: Added.
New WebKit2 results; we show the root tile cache if layerTreeAsText is asked to dump tile caches.

* platform/mac-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/mac-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/mac-wk2/fast/block/basic/020-expected.txt: Added.
* platform/mac-wk2/fast/dynamic/012-expected.txt: Added.
* platform/mac-wk2/fast/dynamic/layer-hit-test-crash-expected.txt: Added.
* platform/mac-wk2/fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
* platform/mac-wk2/fast/text/whitespace/028-expected.txt: Added.
* platform/mac-wk2/fast/layers/layer-visibility-expected.txt: Added.
* platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt: Added.
* platform/mac-wk2/fast/repaint/invisible-objects-expected.txt: Added.
New WebKit2 results; additional compositing layers.

* platform/mac-wk2/tiled-drawing/window-server-snapshots-work-expected-mismatch.html: Added.
* platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html: Added.
New test to ensure that window-server snapshots work with tiled drawing.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 85f2629c
2013-10-02 Tim Horton <timothy_horton@apple.com>
[mac] Stop using DrawingAreaImpl on PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=121859
<rdar://problem/15069359>
Reviewed by Anders Carlsson.
* platform/mac-wk2/TestExpectations:
* platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: Added.
* platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: Added.
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Added.
Add WebKit2 results, because we dump non-white background color on the root layer now.
* platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: Added.
New WebKit2 result; repaint rects are showing up now.
* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
Slightly adjusted results.
* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: Added.
* platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: Added.
New WebKit2 results; we show the root tile cache if layerTreeAsText is asked to dump tile caches.
* platform/mac-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/mac-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/mac-wk2/fast/block/basic/020-expected.txt: Added.
* platform/mac-wk2/fast/dynamic/012-expected.txt: Added.
* platform/mac-wk2/fast/dynamic/layer-hit-test-crash-expected.txt: Added.
* platform/mac-wk2/fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
* platform/mac-wk2/fast/text/whitespace/028-expected.txt: Added.
* platform/mac-wk2/fast/layers/layer-visibility-expected.txt: Added.
* platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt: Added.
* platform/mac-wk2/fast/repaint/invisible-objects-expected.txt: Added.
New WebKit2 results; additional compositing layers.
* platform/mac-wk2/tiled-drawing/window-server-snapshots-work-expected-mismatch.html: Added.
* platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html: Added.
New test to ensure that window-server snapshots work with tiled drawing.
2013-10-01 Oliver Hunt <oliver@apple.com>
 
Implement Array key, value and entries iterators
......@@ -347,6 +347,48 @@ webkit.org/b/107018 svg/animations/animate-linear-discrete-additive-b.svg [ Imag
webkit.org/b/107018 svg/animations/animate-linear-discrete-additive-c.svg [ ImageOnlyFailure Pass ]
webkit.org/b/107018 svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg [ ImageOnlyFailure Pass ]
# Region overflow doesn't quite work with tiled drawing.
webkit.org/b/122233 fast/regions/percentage-margins-mixed-ltr-dominant-regions.html [ ImageOnlyFailure ]
webkit.org/b/122233 fast/regions/percentage-margins-mixed-rtl-dominant-regions.html [ ImageOnlyFailure ]
webkit.org/b/122233 fast/regions/percentage-margins-rtl-variable-width-regions.html [ ImageOnlyFailure ]
webkit.org/b/122233 fast/regions/percentage-margins-variable-width-regions.html [ ImageOnlyFailure ]
webkit.org/b/122233 fast/regions/frame-view-overflow-scroll.html [ ImageOnlyFailure ]
# Color space issues from switching to tiled drawing.
webkit.org/b/122234 fast/css/computed-image-width-with-percent-height.html [ ImageOnlyFailure ]
webkit.org/b/122234 svg/filters/color-space-conversion.svg [ ImageOnlyFailure ]
webkit.org/b/122234 svg/masking/mask-type-luminance.svg [ ImageOnlyFailure ]
webkit.org/b/122234 svg/masking/mask-type-not-set.svg [ ImageOnlyFailure ]
webkit.org/b/122234 svg/filters/feSpecularLight-premultiplied.svg [ ImageOnlyFailure ]
webkit.org/b/122234 svg/filters/filter-cycle.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/null-effect-check.html [ ImageOnlyFailure ]
webkit.org/b/122234 fast/images/pdf-as-image-with-annotations.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/composited/custom-filter-blend-modes.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-a-tex-coord-optional.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-array-uniform-indirect-index.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-array.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-blend-modes.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-change-blend-mode.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-color.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-matN.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-mesh-column-row-order.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-u-mesh-box.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-u-mesh-size.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-u-texture-size.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-u-tile-size.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-unavailable-varying.html [ ImageOnlyFailure ]
webkit.org/b/122234 css3/filters/custom/custom-filter-clamp-css-color-matrix.html [ ImageOnlyFailure ]
# Tiled background images that intersect the tiles are getting weird fringing.
webkit.org/b/122235 css3/masking/mask-repeat-space-border.html [ ImageOnlyFailure ]
webkit.org/b/122235 css3/masking/mask-repeat-space-padding.html [ ImageOnlyFailure ]
webkit.org/b/122235 css3/background/background-repeat-space-border.html [ ImageOnlyFailure ]
webkit.org/b/122235 css3/background/background-repeat-space-padding.html [ ImageOnlyFailure ]
webkit.org/b/122237 [ Debug ] fast/table/crash-section-logical-height-changed-needsCellRecalc.html [ Crash ]
webkit.org/b/122238 fast/layers/no-clipping-overflow-hidden-added-after-transform.html [ ImageOnlyFailure ]
### END OF (1) Classified failures with bug reports
########################################
......
(GraphicsLayer
(bounds 800.00 600.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(backgroundColor #0000FF)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(drawsContent 1)
(children 2
(GraphicsLayer
(position 8.00 8.00)
(bounds 200.00 200.00)
(contentsOpaque 1)
)
(GraphicsLayer
(bounds 800.00 600.00)
(drawsContent 1)
)
)
)
)
)
)
)
(GraphicsLayer
(bounds 800.00 600.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(backgroundColor #0000FF)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(drawsContent 1)
(children 2
(GraphicsLayer
(position 8.00 8.00)
(bounds 200.00 200.00)
(contentsOpaque 1)
)
(GraphicsLayer
(bounds 800.00 600.00)
(drawsContent 1)
)
)
)
)
)
)
)
(repaint rects
(rect 0 0 785 600)
)
(GraphicsLayer
(bounds 785.00 2021.00)
(children 1
(GraphicsLayer
(bounds 785.00 2021.00)
(contentsOpaque 1)
(children 1
(GraphicsLayer
(position -4.00 96.00)
(bounds 428.00 428.00)
(drawsContent 1)
(repaint rects
(rect 0.00 0.00 428.00 428.00)
)
)
)
)
)
)
(GraphicsLayer
(bounds 800.00 600.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(backgroundColor #FF0000)
(children 1
(GraphicsLayer
(position 50.00 50.00)
(bounds 100.00 100.00)
(contentsOpaque 1)
)
)
)
)
)
(GraphicsLayer
(position -215.00 0.00)
(bounds 1000.00 1000.00)
(children 1
(GraphicsLayer
(bounds 1000.00 1000.00)
(contentsOpaque 1)
(backgroundColor #FF0000)
(children 1
(GraphicsLayer
(position 265.00 50.00)
(bounds 100.00 100.00)
(contentsOpaque 1)
)
)
)
)
)
(GraphicsLayer
(position -215.00 0.00)
(bounds 1000.00 1000.00)
(children 1
(GraphicsLayer
(bounds 1000.00 1000.00)
(contentsOpaque 1)
(backgroundColor #FF0000)
(children 1
(GraphicsLayer
(position 51.00 50.00)
(bounds 100.00 100.00)
(contentsOpaque 1)
)
)
)
)
)
......@@ -4,6 +4,7 @@
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(backgroundColor #FF0000)
(children 2
(GraphicsLayer
(position 50.00 50.00)
......
......@@ -5,6 +5,7 @@
(GraphicsLayer
(bounds 1000.00 1000.00)
(contentsOpaque 1)
(backgroundColor #FF0000)
(children 2
(GraphicsLayer
(position 265.00 50.00)
......
(GraphicsLayer
(bounds 800.00 600.00)
(visible rect 0.00, 0.00 800.00 x 600.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(visible rect 0.00, 0.00 800.00 x 600.00)
(contentsScale 1.00)
(tile cache coverage 0, 0 800 x 600)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
(children 1
(GraphicsLayer
(position 58.00 50.00)
(bounds 502.00 302.00)
(visible rect 0.00, 0.00 502.00 x 302.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(position 1.00 1.00)
(bounds 500.00 300.00)
(childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
(visible rect 0.00, 0.00 500.00 x 300.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(position -1250.00 0.00)
(anchor 0.54 0.50)
(bounds 2800.00 300.00)
(usingTiledLayer 1)
(contentsOpaque 1)
(drawsContent 1)
(transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
(visible rect 0.00, 0.00 2800.00 x 300.00)
(contentsScale 1.00)
(tile cache coverage 0, 0 2799 x 299)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 5 x 1)
)
)
)
)
)
)
)
)
)
(GraphicsLayer
(bounds 800.00 600.00)
(visible rect 0.00, 0.00 800.00 x 600.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 800.00 600.00)
(contentsOpaque 1)
(visible rect 0.00, 0.00 800.00 x 600.00)
(contentsScale 1.00)
(tile cache coverage 0, 0 800 x 600)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
(children 1
(GraphicsLayer
(position 58.00 50.00)
(bounds 502.00 302.00)
(visible rect 0.00, 0.00 502.00 x 302.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(position 1.00 1.00)
(bounds 500.00 300.00)
(childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
(visible rect 0.00, 0.00 500.00 x 300.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 500.00 0.00)
(preserves3D 1)
(visible rect 0.00, 0.00 0.00 x 0.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(position -1250.00 0.00)
(anchor 0.54 0.50)
(bounds 2800.00 300.00)
(usingTiledLayer 1)
(contentsOpaque 1)
(drawsContent 1)
(transform [0.17 0.00 -0.98 0.00] [0.00 1.00 0.00 0.00] [0.98 0.00 0.17 0.00] [0.00 0.00 0.00 1.00])
(visible rect 0.00, 0.00 2800.00 x 300.00)
(contentsScale 1.00)
(tile cache coverage 0, 0 2799 x 299)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 5 x 1)
)
)
)
)
)
)
)
)
)
)
)
(GraphicsLayer
(bounds 1932.00 4150.00)
(visible rect 0.00, 0.00 785.00 x 585.00)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 1208.00 2594.00)
(contentsOpaque 1)
(transform [1.60 0.00 0.00 0.00] [0.00 1.60 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
(visible rect 0.00, 0.00 490.63 x 365.63)
(contentsScale 1.00)
(tile cache coverage 0, 0 640 x 640)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
(children 1
(GraphicsLayer
(position 8.00 8.00)
(bounds 700.00 2500.00)
(contentsOpaque 1)
(transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
(visible rect 0.00, 0.00 482.63 x 357.63)
(contentsScale 1.60)
)
)
)
)
)
Tiled layer
(GraphicsLayer
(bounds 808.00 2121.00)
(children 1
(GraphicsLayer
(bounds 808.00 2121.00)
(contentsOpaque 1)
(tile cache coverage 0, 0 808 x 1024)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
(children 1
(GraphicsLayer
(position 8.00 8.00)
(bounds 800.00 2100.00)
(usingTiledLayer 1)
(contentsOpaque 1)
(drawsContent 1)
(tile cache coverage 0, 0 800 x 1024)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
)
)
)
)
)
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x72
RenderBlock {HTML} at (0,0) size 800x72
RenderBody {BODY} at (8,8) size 784x56
RenderBlock {DIV} at (0,0) size 784x36
RenderText {#text} at (0,0) size 769x36
text run at (0,0) width 769: "When the caret reaches the edge of the input box or content editable div, on the next input if must jump to the center of the"
text run at (0,18) width 48: "control."
layer at (8,44) size 82x20 clip at (9,45) size 80x18 scrollX 42 scrollWidth 337
RenderBlock {DIV} at (0,36) size 82x20 [border: (1px solid #000000)]
RenderText {#text} at (1,1) size 336x18
text run at (1,1) width 336: "012345678901012345678901234567890123456789"
layer at (8,44) size 8x18
RenderBlock (positioned) {SPAN} at (8,44) size 8x18
RenderText {#text} at (0,0) size 8x18
text run at (0,0) width 8: "0"
caret: position 12 of child 0 {#text} of child 5 {DIV} of body
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x216
RenderBlock {HTML} at (0,0) size 800x216
RenderBody {BODY} at (8,8) size 784x200
RenderBlock {DIV} at (0,0) size 784x18
RenderText {#text} at (0,0) size 595x18
text run at (0,0) width 595: "When the caret is scrolled out, on starting typing it must be brought to the center of the control."
layer at (8,26) size 784x182 clip at (9,27) size 767x165 scrollY 252 scrollHeight 558
RenderBlock {DIV} at (0,18) size 784x182 [border: (1px solid #000000)]
RenderText {#text} at (1,1) size 16x18
text run at (1,1) width 16: "00"
RenderBR {BR} at (17,1) size 0x18
RenderText {#text} at (1,19) size 16x18
text run at (1,19) width 16: "01"
RenderBR {BR} at (17,19) size 0x18
RenderText {#text} at (1,37) size 16x18
text run at (1,37) width 16: "02"
RenderBR {BR} at (17,37) size 0x18
RenderText {#text} at (1,55) size 16x18
text run at (1,55) width 16: "03"
RenderBR {BR} at (17,55) size 0x18
RenderText {#text} at (1,73) size 16x18
text run at (1,73) width 16: "04"
RenderBR {BR} at (17,73) size 0x18
RenderText {#text} at (1,91) size 16x18
text run at (1,91) width 16: "05"
RenderBR {BR} at (17,91) size 0x18
RenderText {#text} at (1,109) size 16x18
text run at (1,109) width 16: "06"
RenderBR {BR} at (17,109) size 0x18
RenderText {#text} at (1,127) size 16x18
text run at (1,127) width 16: "07"
RenderBR {BR} at (17,127) size 0x18
RenderText {#text} at (1,145) size 16x18
text run at (1,145) width 16: "08"
RenderBR {BR} at (17,145) size 0x18
RenderText {#text} at (1,163) size 16x18
text run at (1,163) width 16: "09"
RenderBR {BR} at (17,163) size 0x18
RenderText {#text} at (1,181) size 16x18
text run at (1,181) width 16: "10"
RenderBR {BR} at (17,181) size 0x18
RenderText {#text} at (1,199) size 16x18
text run at (1,199) width 16: "11"
RenderBR {BR} at (17,199) size 0x18
RenderText {#text} at (1,217) size 16x18
text run at (1,217) width 16: "12"
RenderBR {BR} at (17,217) size 0x18
RenderText {#text} at (1,235) size 16x18
text run at (1,235) width 16: "13"
RenderBR {BR} at (17,235) size 0x18
RenderText {#text} at (1,253) size 16x18
text run at (1,253) width 16: "14"
RenderBR {BR} at (17,253) size 0x18
RenderText {#text} at (1,271) size 16x18
text run at (1,271) width 16: "15"
RenderBR {BR} at (17,271) size 0x18
RenderText {#text} at (1,289) size 16x18
text run at (1,289) width 16: "16"
RenderBR {BR} at (17,289) size 0x18
RenderText {#text} at (1,307) size 16x18
text run at (1,307) width 16: "17"
RenderBR {BR} at (17,307) size 0x18
RenderText {#text} at (1,325) size 25x18
text run at (1,325) width 25: ">18"
RenderBR {BR} at (26,325) size 0x18
RenderText {#text} at (1,343) size 16x18
text run at (1,343) width 16: "19"
RenderBR {BR} at (17,343) size 0x18
RenderText {#text} at (1,361) size 16x18
text run at (1,361) width 16: "20"
RenderBR {BR} at (17,361) size 0x18
RenderText {#text} at (1,379) size 16x18
text run at (1,379) width 16: "21"
RenderBR {BR} at (17,379) size 0x18
RenderText {#text} at (1,397) size 16x18
text run at (1,397) width 16: "22"
RenderBR {BR} at (17,397) size 0x18
RenderText {#text} at (1,415) size 16x18
text run at (1,415) width 16: "23"
RenderBR {BR} at (17,415) size 0x18
RenderText {#text} at (1,433) size 16x18
text run at (1,433) width 16: "24"
RenderBR {BR} at (17,433) size 0x18
RenderText {#text} at (1,451) size 16x18
text run at (1,451) width 16: "25"
RenderBR {BR} at (17,451) size 0x18
RenderText {#text} at (1,469) size 16x18
text run at (1,469) width 16: "26"
RenderBR {BR} at (17,469) size 0x18
RenderText {#text} at (1,487) size 16x18
text run at (1,487) width 16: "27"
RenderBR {BR} at (17,487) size 0x18
RenderText {#text} at (1,505) size 16x18
text run at (1,505) width 16: "28"
RenderBR {BR} at (17,505) size 0x18
RenderText {#text} at (1,523) size 16x18
text run at (1,523) width 16: "29"
RenderBR {BR} at (17,523) size 0x18
RenderText {#text} at (1,541) size 16x18
text run at (1,541) width 16: "30"
RenderBR {BR} at (17,541) size 0x18
layer at (8,26) size 8x18
RenderBlock (positioned) {SPAN} at (8,26) size 8x18
RenderText {#text} at (0,0) size 8x18
text run at (0,0) width 8: "0"
caret: position 1 of child 36 {#text} of child 5 {DIV} of body
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x576
RenderBlock {DIV} at (0,0) size 784x52
RenderBlock (anonymous) at (0,0) size 784x18
RenderText {#text} at (0,0) size 12x18
text run at (0,0) width 12: "A"
RenderText {#text} at (12,0) size 11x18
text run at (12,0) width 11: "C"
RenderBlock {P} at (0,34) size 784x0
RenderBlock {DIV} at (0,34) size 784x18
RenderBlock (anonymous) at (0,0) size 784x18
RenderText {#text} at (100,0) size 16x18
text run at (100,0) width 16: "A "
RenderBlock (floating) {SPAN} at (0,0) size 100x100 [bgcolor=#008000]
RenderText {#text} at (116,0) size 11x18
text run at (116,0) width 11: "B"
RenderBlock {P} at (0,34) size 784x0
layer at (20,8) size 11x18
RenderBlock (positioned) {SPAN} at (20,8) size 11x18
RenderText {#text} at (0,0) size 11x18
text run at (0,0) width 11: "B"
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {H2} at (0,0) size 784x28
RenderText {#text} at (0,0) size 219x28
text run at (0,0) width 219: "Block Collapse Demo"
RenderBlock {P} at (0,47) size 784x18
RenderText {#text} at (0,0) size 687x18
text run at (0,0) width 304: "This table below has three hierarchical sections. "
text run at (304,0) width 383: "Collapsing a section should cause those below it to move up."
RenderBlock {P} at (0,81) size 784x18
RenderText {#text} at (0,0) size 765x18
text run at (0,0) width 765: "This works on the latest Windows IE and Mozilla Firefox (Win and Mac) but not on Safari 1.2.3 (v125.9) {or 2.0 (146)}."
RenderBlock {P} at (0,115) size 784x18
RenderText {#text} at (0,0) size 747x18
text run at (0,0) width 579: "Note that the second section is collapsed when the page opens and expanding it works fine. "