-
mitz@apple.com authored
Reviewed by Eric Seidel. - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034) Test: fast/repaint/subtree-root-skipped.html * page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout root to 0. (WebCore::FrameView::layoutRoot): Changed to return a RenderObject instead of a Node. (WebCore::FrameView::layout): Changed for layout root being a renderer rather than a DOM node. Also replaced clearing the repaint rects set with asserting that it is empty if this is the top-level call to layout(). If it is not, the set may contain rects from enclosing layout() and those should not be removed. (WebCore::FrameView::scheduleRelayout): Changed for layout root being a renderer rather than a DOM node. (WebCore::isObjectAncestorContainerOf): Added this helper function that tests whether one object will be marked by calling markContainingBlocksForLayout() on the other. (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout root being a renderer rather than a DOM node. Changed the check if new and current layout roots are on the same path from the root to use the subgraph of the render tree defined by container()hood instead of the DOM tree and parenthood. * page/FrameView.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::calcWidth): Changed for layout root being a renderer rather than a DOM node. * rendering/RenderObject.cpp: (WebCore::RenderObject::~RenderObject): Added an assertion that the object being deleted is not currently the layout root. (WebCore::RenderObject::scheduleRelayout): Changed for layout root being a renderer rather than a DOM node. LayoutTests: Reviewed by Eric Seidel. - repaint test for <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034) * fast/repaint/subtree-root-skipped.html: Added. * platform/mac-leopard/fast/repaint/subtree-root-skipped-expected.checksum: Added. * platform/mac-leopard/fast/repaint/subtree-root-skipped-expected.png: Added. * platform/mac/fast/repaint/subtree-root-skipped-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2927a273