12010-12-05 David Hyatt <hyatt@apple.com>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
6 O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
7
8 This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
9 in the engine to cache all the information required to properly handle scrolling.
10
11 In the old code, there were two types of overflow: layout overflow and visual overflow. The former could
12 affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow
13 wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer
14 boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and
15 visual overflow rects.
16
17 In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow
18 is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has
19 been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
20 work with writing modes.
21
22 In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
23 Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
24 A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
25 a huge number of tests would change.
26
27 Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest.
28
29 * page/FrameView.cpp:
30 (WebCore::FrameView::adjustViewSize):
31 (WebCore::FrameView::forceLayoutForPagination):
32 Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
33 to account for writing modes.
34
35 * platform/graphics/IntRect.h:
36 (WebCore::IntRect::shiftLeftEdgeTo):
37 (WebCore::IntRect::shiftRightEdgeTo):
38 (WebCore::IntRect::shiftTopEdgeTo):
39 (WebCore::IntRect::shiftBottomEdgeTo):
40 New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
41
42 * rendering/InlineBox.h:
43 (WebCore::InlineBox::frameRect):
44 frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
45
46 * rendering/InlineFlowBox.cpp:
47 (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
48 All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed
49 at once now in a single function: computeOverflow.
50
51 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
52 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
53 (WebCore::InlineFlowBox::addReplacedChildOverflow):
54 Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
55
56 (WebCore::InlineFlowBox::computeOverflow):
57 The new function that computes both horizontal and vertical overflow for a line box.
58
59 (WebCore::InlineFlowBox::setLayoutOverflow):
60 (WebCore::InlineFlowBox::setVisualOverflow):
61 (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
62 New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions
63 and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles.
64
65 (WebCore::InlineFlowBox::nodeAtPoint):
66 (WebCore::InlineFlowBox::paint):
67 Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual
68 overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
69
70 * rendering/InlineFlowBox.h:
71 (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
72 (WebCore::InlineFlowBox::logicalVisualOverflowRect):
73 Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
74 converting to block coordinates at the end.
75
76 * rendering/RenderBlock.cpp:
77 (WebCore::RenderBlock::layoutBlock):
78 (WebCore::RenderBlock::addOverflowFromChildren):
79 (WebCore::RenderBlock::computeOverflow):
80 (WebCore::RenderBlock::addOverflowFromFloats):
81 (WebCore::RenderBlock::addOverflowFromPositionedObjects):
82 Blocks now have a computeOverflow function called at the end that adds in all the types of overflow. The addOverflowFromChildren
83 method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and
84 propagate marker overflow up, and RenderTable adds in overflow from its sections.
85
86 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
87 (WebCore::RenderBlock::layoutPositionedObjects):
88 When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single
89 callable method: computeOverflow, makes it possible for this to be done easily.
90
91 (WebCore::RenderBlock::paint):
92 visible -> visual.
93
94 (WebCore::RenderBlock::addOverhangingFloats):
95 The propagation of float overflow has changed substantially. The basic rules are:
96 (1) The float must be in our floating objects list to contribute to overflow.
97 (2) The float must be a descendant to contribute to overflow.
98 (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
99 so the float needs to be included in its overflow.
100
101 (WebCore::RenderBlock::nodeAtPoint):
102 visible -> visual.
103
104 (WebCore::RenderBlock::layoutColumns):
105 Remove column overflow computation from layoutColumns and move it to computeOverflow.
106
107 (WebCore::RenderBlock::adjustLinePositionForPagination):
108 visible -> visual.
109
110 * rendering/RenderBlock.h:
111 (WebCore::RenderBlock::scrollbarsChanged):
112 Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
113
114 * rendering/RenderBlockLineLayout.cpp:
115 (WebCore::RenderBlock::layoutInlineChildren):
116 (WebCore::RenderBlock::determineStartPosition):
117 (WebCore::RenderBlock::matchedEndLine):
118 (WebCore::RenderBlock::addOverflowFromInlineChildren):
119 (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
120 (WebCore::RenderBlock::afterSideVisualOverflowForLine):
121 visible -> visual.
122
123 * rendering/RenderBox.cpp:
124 (WebCore::RenderBox::scrollWidth):
125 (WebCore::RenderBox::scrollHeight):
126 Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
127
128 (WebCore::RenderBox::paintRootBoxDecorations):
129 Use docLeft and docTop here, so that writing modes are handled.
130
131 (WebCore::RenderBox::clippedOverflowRectForRepaint):
132 visible -> visual.
133
134 (WebCore::RenderBox::addOverflowFromChild):
135 (WebCore::RenderBox::addLayoutOverflow):
136 (WebCore::RenderBox::addVisualOverflow):
137 (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
138 (WebCore::RenderBox::visualOverflowRectForPropagation):
139 (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
140 (WebCore::RenderBox::layoutOverflowRectForPropagation):
141 * rendering/RenderBox.h:
142 The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
143 for transforms, relative positioning and writing mode differences.
144
145 (WebCore::RenderBox::layoutOverflowRect):
146 (WebCore::RenderBox::topLayoutOverflow):
147 (WebCore::RenderBox::bottomLayoutOverflow):
148 (WebCore::RenderBox::leftLayoutOverflow):
149 (WebCore::RenderBox::rightLayoutOverflow):
150 Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
151
152 (WebCore::RenderBox::clientLogicalBottom):
153 New helper for obtaining the logical bottom of the client box.
154
155 (WebCore::RenderBox::clientBoxRect):
156 New helper for obtaining the clientLeft/Top/Width/Height box.
157
158 * rendering/RenderBoxModelObject.h:
159 (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
160 Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow.
161
162 * rendering/RenderFlexibleBox.cpp:
163 (WebCore::RenderFlexibleBox::layoutBlock):
164 Changed flexible boxes to just call the base class computeOverflow method.
165
166 * rendering/RenderInline.cpp:
167 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
168 (WebCore::RenderInline::clippedOverflowRectForRepaint):
169 visible -> visual.
170
171 * rendering/RenderInline.h:
172 * rendering/RenderLayer.cpp:
173 (WebCore::RenderLayer::updateLayerPosition):
174 Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout
175 tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
176 layers now.)
177
178 (WebCore::RenderLayer::overflowTop):
179 (WebCore::RenderLayer::overflowBottom):
180 (WebCore::RenderLayer::overflowLeft):
181 (WebCore::RenderLayer::overflowRight):
182 overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
183 to set up the scroll area.
184
185 (WebCore::RenderLayer::computeScrollDimensions):
186 Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
187
188 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
189 Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
190 bottom works.
191
192 (WebCore::performOverlapTests):
193 (WebCore::RenderLayer::paintLayer):
194 Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
195 of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead.
196
197 (WebCore::RenderLayer::hitTest):
198 Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
199 for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead,
200 so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
201
202 (WebCore::RenderLayer::localBoundingBox):
203 visible -> visual.
204
205 * rendering/RenderLayer.h:
206 Added the new overflowTop/Left/Right/Bottom accessors.
207
208 * rendering/RenderLineBoxList.cpp:
209 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
210 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
211 (WebCore::RenderLineBoxList::paint):
212 (WebCore::RenderLineBoxList::hitTest):
213 visible -> visual.
214
215 * rendering/RenderListItem.cpp:
216 (WebCore::RenderListItem::addOverflowFromChildren):
217 (WebCore::RenderListItem::positionListMarker):
218 * rendering/RenderListItem.h:
219 RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
220
221 * rendering/RenderListMarker.cpp:
222 (WebCore::RenderListMarker::paint):
223 visible -> visual.
224
225 * rendering/RenderMarquee.cpp:
226 (WebCore::RenderMarquee::computePosition):
227 Changed to use overflow functions instead of rightmost/lowestPosition.
228
229 * rendering/RenderMedia.cpp:
230 * rendering/RenderMedia.h:
231 Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
232
233 * rendering/RenderOverflow.h:
234 (WebCore::RenderOverflow::RenderOverflow):
235 (WebCore::RenderOverflow::setLayoutOverflow):
236 (WebCore::RenderOverflow::setVisualOverflow):
237 Add new setters for layout and visual overflow as rects.
238
239 * rendering/RenderReplaced.cpp:
240 (WebCore::RenderReplaced::shouldPaint):
241 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
242 visible -> visual.
243
244 * rendering/RenderRubyRun.cpp:
245 (WebCore::RenderRubyRun::layout):
246 Call computeOverflow to recompute our overflow information after we adjust the ruby.
247
248 * rendering/RenderTable.cpp:
249 (WebCore::RenderTable::layout):
250 (WebCore::RenderTable::addOverflowFromChildren):
251 (WebCore::RenderTable::paint):
252 * rendering/RenderTable.h:
253 Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
254
255 * rendering/RenderTableCell.cpp:
256 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
257 visible -> visual.
258
259 (WebCore::RenderTableCell::scrollbarsChanged):
260 Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
261 a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
262 cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic
263 padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
264
265 * rendering/RenderTableCell.h:
266 (WebCore::RenderTableCell::hasVisualOverflow):
267 visible -> visual.
268
269 * rendering/RenderTableSection.cpp:
270 (WebCore::RenderTableSection::layoutRows):
271 * rendering/RenderTableSection.h:
272 visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions.
273
274 * rendering/RenderTreeAsText.cpp:
275 (WebCore::writeLayers):
276 Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests
277 from failing.
278
279 * rendering/RenderView.cpp:
280 (WebCore::RenderView::layout):
281 (WebCore::RenderView::docTop):
282 (WebCore::RenderView::docBottom):
283 (WebCore::RenderView::docLeft):
284 (WebCore::RenderView::docRight):
285 * rendering/RenderView.h:
286 (WebCore::RenderView::docHeight):
287 (WebCore::RenderView::docWidth):
288 RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods
289 are now the preferred way to query for the physical dimensions of a document.
290
291 * rendering/RootInlineBox.cpp:
292 (WebCore::RootInlineBox::addHighlightOverflow):
293 Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
294
295 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
296 Remove the computation of block direction overflow, since it now all happens at once after the line is built.
297
298 (WebCore::RootInlineBox::paddedLayoutOverflowRect):
299 * rendering/RootInlineBox.h:
300 Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret
301 in LTR if needed.
302
303 * compositing/checkerboard-expected.txt:
304 * compositing/geometry/limit-layer-bounds-transformed-expected.txt:
305 * compositing/iframes/composited-parent-iframe-expected.txt:
306 * fast/backgrounds/size/contain-and-cover-expected.txt:
307 * fast/flexbox/009.html:
308 * fast/overflow/overflow-rtl-vertical.html: Added.
309 * fast/spatial-navigation/snav-clipped-overflowed-content-expected.txt:
310 * fast/spatial-navigation/snav-clipped-overflowed-content.html:
311 * platform/mac/compositing/direct-image-compositing-expected.txt:
312 * platform/mac/compositing/geometry/fixed-position-expected.txt:
313 * platform/mac/compositing/geometry/video-opacity-overlay-expected.txt:
314 * platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.txt:
315 * platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt:
316 * platform/mac/compositing/reflections/load-video-in-reflection-expected.txt:
317 * platform/mac/compositing/repaint/content-into-overflow-expected.txt:
318 * platform/mac/compositing/repaint/overflow-into-content-expected.txt:
319 * platform/mac/css1/box_properties/margin-expected.txt:
320 * platform/mac/css1/box_properties/margin_right-expected.txt:
321 * platform/mac/css1/classification/white_space-expected.txt:
322 * platform/mac/css1/color_and_background/background_attachment-expected.txt:
323 * platform/mac/css1/color_and_background/background_repeat-expected.txt:
324 * platform/mac/css2.1/t0803-c5502-mrgn-r-02-c-expected.txt:
325 * platform/mac/css2.1/t0803-c5505-mrgn-02-c-expected.txt:
326 * platform/mac/css2.1/t0804-c5508-ipadn-b-02-b-a-expected.txt:
327 * platform/mac/css2.1/t0905-c414-flt-00-d-expected.txt:
328 * platform/mac/css2.1/t0905-c414-flt-01-d-g-expected.txt:
329 * platform/mac/css2.1/t0905-c414-flt-02-c-expected.txt:
330 * platform/mac/css2.1/t0905-c414-flt-03-c-expected.txt:
331 * platform/mac/css2.1/t0905-c414-flt-04-c-expected.txt:
332 * platform/mac/css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt:
333 * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
334 * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
335 * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
336 * platform/mac/css2.1/t090501-c414-flt-02-d-g-expected.txt:
337 * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt:
338 * platform/mac/css2.1/t1202-counters-08-b-expected.txt:
339 * platform/mac/css2.1/t1202-counters-09-b-expected.txt:
340 * platform/mac/editing/deleting/delete-after-span-ws-001-expected.txt:
341 * platform/mac/editing/deleting/delete-after-span-ws-002-expected.txt:
342 * platform/mac/editing/deleting/delete-after-span-ws-003-expected.txt:
343 * platform/mac/editing/deleting/delete-line-end-ws-001-expected.txt:
344 * platform/mac/editing/deleting/delete-line-end-ws-002-expected.txt:
345 * platform/mac/editing/selection/25228-expected.txt:
346 * platform/mac/editing/selection/focus_editable_html-expected.txt:
347 * platform/mac/editing/selection/select-all-001-expected.txt:
348 * platform/mac/editing/selection/select-all-002-expected.txt:
349 * platform/mac/editing/selection/select-all-003-expected.txt:
350 * platform/mac/editing/selection/select-all-004-expected.txt:
351 * platform/mac/editing/selection/unrendered-001-expected.txt:
352 * platform/mac/editing/selection/unrendered-002-expected.txt:
353 * platform/mac/editing/selection/unrendered-003-expected.txt:
354 * platform/mac/editing/selection/unrendered-004-expected.txt:
355 * platform/mac/editing/selection/unrendered-005-expected.txt:
356 * platform/mac/fast/backgrounds/repeat/negative-offset-repeat-expected.txt:
357 * platform/mac/fast/backgrounds/size/backgroundSize15-expected.txt:
358 * platform/mac/fast/block/basic/010-expected.txt:
359 * platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.txt:
360 * platform/mac/fast/block/float/008-expected.txt:
361 * platform/mac/fast/block/float/013-expected.txt:
362 * platform/mac/fast/block/float/019-expected.txt:
363 * platform/mac/fast/block/float/021-expected.txt:
364 * platform/mac/fast/block/float/029-expected.txt:
365 * platform/mac/fast/block/float/031-expected.txt:
366 * platform/mac/fast/block/float/033-expected.txt:
367 * platform/mac/fast/block/float/035-expected.txt:
368 * platform/mac/fast/block/float/avoidance-percent-width-strict-expected.txt:
369 * platform/mac/fast/block/float/clamped-right-float-expected.txt:
370 * platform/mac/fast/block/float/float-in-float-painting-expected.txt:
371 * platform/mac/fast/block/float/nested-clearance-expected.txt:
372 * platform/mac/fast/block/float/relative-painted-twice-expected.txt:
373 * platform/mac/fast/block/margin-collapse/004-expected.txt:
374 * platform/mac/fast/block/margin-collapse/062-expected.txt:
375 * platform/mac/fast/block/margin-collapse/063-expected.txt:
376 * platform/mac/fast/block/margin-collapse/104-expected.txt:
377 * platform/mac/fast/block/margin-collapse/block-inside-inline/004-expected.txt:
378 * platform/mac/fast/block/margin-collapse/block-inside-inline/005-expected.txt:
379 * platform/mac/fast/block/positioning/002-expected.txt:
380 * platform/mac/fast/block/positioning/047-expected.txt:
381 * platform/mac/fast/block/positioning/049-expected.txt:
382 * platform/mac/fast/block/positioning/051-expected.txt:
383 * platform/mac/fast/block/positioning/auto-height-with-top-and-bottom-expected.txt:
384 * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt:
385 * platform/mac/fast/blockflow/block-level-images-expected.txt:
386 * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt:
387 * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.txt:
388 * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.txt:
389 * platform/mac/fast/blockflow/floats-in-block-layout-expected.txt:
390 * platform/mac/fast/body-propagation/background-color/002-expected.txt:
391 * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt:
392 * platform/mac/fast/body-propagation/background-image/002-expected.txt:
393 * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt:
394 * platform/mac/fast/body-propagation/overflow/001-expected.txt:
395 * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt:
396 * platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt:
397 * platform/mac/fast/body-propagation/overflow/005-expected.txt:
398 * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt:
399 * platform/mac/fast/borders/fieldsetBorderRadius-expected.txt:
400 * platform/mac/fast/box-shadow/basic-shadows-expected.txt:
401 * platform/mac/fast/box-sizing/box-sizing-expected.txt:
402 * platform/mac/fast/clip/008-expected.txt:
403 * platform/mac/fast/clip/009-expected.txt:
404 * platform/mac/fast/clip/010-expected.txt:
405 * platform/mac/fast/clip/011-expected.txt:
406 * platform/mac/fast/clip/012-expected.txt:
407 * platform/mac/fast/compact/001-expected.txt:
408 * platform/mac/fast/css/color-correction-on-background-image-expected.txt:
409 * platform/mac/fast/css/negative-leading-expected.txt:
410 * platform/mac/fast/css/percentage-non-integer-expected.txt:
411 * platform/mac/fast/css/word-space-extra-expected.txt:
412 * platform/mac/fast/dom/clone-node-dynamic-style-expected.txt:
413 * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt:
414 * platform/mac/fast/events/focusingUnloadedFrame-expected.txt:
415 * platform/mac/fast/flexbox/009-expected.txt:
416 * platform/mac/fast/flexbox/016-expected.txt:
417 * platform/mac/fast/flexbox/flex-hang-expected.txt:
418 * platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
419 * platform/mac/fast/forms/file-input-direction-expected.txt:
420 * platform/mac/fast/forms/floating-textfield-relayout-expected.txt:
421 * platform/mac/fast/forms/textfield-overflow-expected.txt:
422 * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt:
423 * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt:
424 * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt:
425 * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt:
426 * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt:
427 * platform/mac/fast/frames/frame-scrolling-attribute-expected.txt:
428 * platform/mac/fast/frames/iframe-scrolling-attribute-expected.txt:
429 * platform/mac/fast/frames/inline-object-inside-frameset-expected.txt:
430 * platform/mac/fast/gradients/background-clipped-expected.txt:
431 * platform/mac/fast/images/gif-large-checkerboard-expected.txt:
432 * platform/mac/fast/images/pdf-as-image-landscape-expected.txt:
433 * platform/mac/fast/inline-block/inline-block-vertical-align-expected.txt:
434 * platform/mac/fast/inline/long-wrapped-line-expected.txt:
435 * platform/mac/fast/layers/layer-visibility-expected.txt:
436 * platform/mac/fast/layers/layer-visibility-sublayer-expected.txt:
437 * platform/mac/fast/lists/001-expected.txt:
438 * platform/mac/fast/lists/001-vertical-expected.txt:
439 * platform/mac/fast/lists/003-expected.txt:
440 * platform/mac/fast/lists/003-vertical-expected.txt:
441 * platform/mac/fast/lists/li-br-expected.txt:
442 * platform/mac/fast/media/mq-relative-constraints-02-expected.txt:
443 * platform/mac/fast/media/mq-relative-constraints-03-expected.txt:
444 * platform/mac/fast/media/mq-relative-constraints-04-expected.txt:
445 * platform/mac/fast/media/mq-relative-constraints-05-expected.txt:
446 * platform/mac/fast/media/mq-relative-constraints-06-expected.txt:
447 * platform/mac/fast/media/mq-relative-constraints-07-expected.txt:
448 * platform/mac/fast/media/mq-relative-constraints-08-expected.txt:
449 * platform/mac/fast/media/mq-relative-constraints-09-expected.txt:
450 * platform/mac/fast/media/mq-width-absolute-01-expected.txt:
451 * platform/mac/fast/media/mq-width-absolute-02-expected.txt:
452 * platform/mac/fast/media/mq-width-absolute-03-expected.txt:
453 * platform/mac/fast/media/mq-width-absolute-04-expected.txt:
454 * platform/mac/fast/multicol/float-multicol-expected.txt:
455 * platform/mac/fast/multicol/float-paginate-complex-expected.txt:
456 * platform/mac/fast/multicol/float-paginate-expected.txt:
457 * platform/mac/fast/multicol/layers-in-multicol-expected.txt:
458 * platform/mac/fast/multicol/paginate-block-replaced-expected.txt:
459 * platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt:
460 * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
461 * platform/mac/fast/multicol/table-vertical-align-expected.txt:
462 * platform/mac/fast/overflow/006-expected.txt:
463 * platform/mac/fast/overflow/float-in-relpositioned-expected.txt:
464 * platform/mac/fast/overflow/overflow-auto-table-expected.txt:
465 * platform/mac/fast/overflow/overflow-rtl-vertical-expected.checksum: Added.
466 * platform/mac/fast/overflow/overflow-rtl-vertical-expected.png: Added.
467 * platform/mac/fast/overflow/overflow-rtl-vertical-expected.txt: Added.
468 * platform/mac/fast/overflow/scrollRevealButton-expected.txt:
469 * platform/mac/fast/reflections/reflection-direction-expected.txt:
470 * platform/mac/fast/repaint/box-shadow-h-expected.checksum:
471 * platform/mac/fast/repaint/box-shadow-h-expected.png:
472 * platform/mac/fast/repaint/box-shadow-h-expected.txt:
473 * platform/mac/fast/repaint/box-shadow-v-expected.txt:
474 * platform/mac/fast/repaint/content-into-overflow-expected.txt:
475 * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt:
476 * platform/mac/fast/repaint/float-overflow-expected.txt:
477 * platform/mac/fast/repaint/float-overflow-right-expected.txt:
478 * platform/mac/fast/repaint/overflow-into-content-expected.txt:
479 * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.txt:
480 * platform/mac/fast/repaint/subtree-root-clip-expected.txt:
481 * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
482 * platform/mac/fast/repaint/transform-replaced-shadows-expected.checksum:
483 * platform/mac/fast/repaint/transform-replaced-shadows-expected.png:
484 * platform/mac/fast/replaced/004-expected.txt:
485 * platform/mac/fast/table/034-expected.txt:
486 * platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
487 * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
488 * platform/mac/fast/table/fixed-with-auto-with-colspan-expected.txt:
489 * platform/mac/fast/table/fixed-with-auto-with-colspan-vertical-expected.txt:
490 * platform/mac/fast/table/frame-and-rules-expected.txt:
491 * platform/mac/fast/table/height-percent-test-vertical-expected.txt:
492 * platform/mac/fast/table/wide-colspan-expected.txt:
493 * platform/mac/fast/table/wide-column-expected.txt:
494 * platform/mac/fast/text/international/thai-line-breaks-expected.txt:
495 * platform/mac/fast/text/large-text-composed-char-expected.txt:
496 * platform/mac/fast/text/letter-spacing-negative-opacity-expected.txt:
497 * platform/mac/fast/text/text-letter-spacing-expected.txt:
498 * platform/mac/fast/text/whitespace/012-expected.txt:
499 * platform/mac/mathml/presentation/fenced-expected.txt:
500 * platform/mac/mathml/presentation/mo-expected.txt:
501 * platform/mac/mathml/presentation/over-expected.txt:
502 * platform/mac/mathml/presentation/row-alignment-expected.txt:
503 * platform/mac/mathml/presentation/row-expected.txt:
504 * platform/mac/printing/return-from-printing-mode-expected.txt:
505 * platform/mac/svg/custom/altglyph-expected.txt:
506 * platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt:
507 * platform/mac/svg/custom/path-bad-data-expected.txt:
508 * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
509 * platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
510 * platform/mac/svg/custom/text-xy-updates-SVGList-expected.txt:
511 * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt:
512 * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.txt:
513 * platform/mac/svg/text/kerning-expected.txt:
514 * platform/mac/svg/text/multichar-glyph-expected.txt:
515 * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
516 * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
517 * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt:
518 * platform/mac/tables/mozilla/bugs/bug120364-expected.txt:
519 * platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
520 * platform/mac/tables/mozilla/bugs/bug196870-expected.txt:
521 * platform/mac/tables/mozilla/bugs/bug23151-expected.txt:
522 * platform/mac/tables/mozilla/bugs/bug29314-expected.txt:
523 * platform/mac/tables/mozilla/bugs/bug43039-expected.txt:
524 * platform/mac/tables/mozilla/bugs/bug43854-1-expected.txt:
525 * platform/mac/tables/mozilla/bugs/bug45055-2-expected.txt:
526 * platform/mac/tables/mozilla/bugs/bug5797-expected.txt:
527 * platform/mac/tables/mozilla/bugs/bug625-expected.txt:
528 * platform/mac/tables/mozilla/bugs/bug72359-expected.txt:
529 * platform/mac/tables/mozilla/bugs/bug83786-expected.txt:
530 * platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
531 * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
532 * platform/mac/tables/mozilla/core/nested1-expected.txt:
533 * platform/mac/tables/mozilla/marvin/backgr_index-expected.txt:
534 * platform/mac/tables/mozilla/marvin/x_table_align_left-expected.txt:
535 * platform/mac/tables/mozilla/marvin/x_table_align_right-expected.txt:
536 * platform/mac/tables/mozilla/marvin/x_td_nowrap-expected.txt:
537 * platform/mac/tables/mozilla/marvin/x_th_nowrap-expected.txt:
538 * platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.txt:
539 * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
540 * platform/mac/tables/mozilla_expected_failures/bugs/bug67915-2-expected.txt:
541 * platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
542 * platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
543 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
544 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
545 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
546 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
547 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
548 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
549 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
550 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
551 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
552 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
553 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
554 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
555 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
556 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
557 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
558 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
559 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
560 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
561 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
562 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
563 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
564 * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
565 * platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
566 * platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
567 * platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
568 * platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
569 * platform/mac/transforms/svg-vs-css-expected.txt:
570 * svg/custom/text-zoom-expected.txt:
571