Bug 23220

Summary: Roll layoutDelta into layoutState
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: hyatt, mitz
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 23233    
Attachments:
Description Flags
Patch, changelog mitz: review+

Description Simon Fraser (smfr) 2009-01-09 16:55:31 PST
RenderView has the notion of "layoutDelta", which is an offset applied to repaint rects to account for objects which have been moved or resized during layout.

RenderView also maintains a LayoutState stack, which is a stack of cached offsets and clip rects used to optimize repainting.

layoutDelta should be merged with LayoutState.

We'd have to figure out what it means to disable layoutState though.
Comment 1 Simon Fraser (smfr) 2009-01-12 12:09:15 PST
Created attachment 26639 [details]
Patch, changelog
Comment 2 mitz 2009-01-12 12:19:56 PST
Comment on attachment 26639 [details]
Patch, changelog

> +    RenderView* v;
> +    if ((v = view()) && v->layoutStateEnabled()) {

Even though it increases the maximum indentation, I am not sure I like this change, because it moves v outside the scope of the if statement.

r=me
Comment 3 Simon Fraser (smfr) 2009-01-12 13:42:57 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/rendering/LayoutState.cpp
	M	WebCore/rendering/LayoutState.h
	M	WebCore/rendering/RenderBlock.cpp
	M	WebCore/rendering/RenderBox.cpp
	M	WebCore/rendering/RenderFlexibleBox.cpp
	M	WebCore/rendering/RenderFlow.cpp
	M	WebCore/rendering/RenderLayer.cpp
	M	WebCore/rendering/RenderTableCell.cpp
	M	WebCore/rendering/RenderView.cpp
	M	WebCore/rendering/RenderView.h
	M	WebCore/rendering/bidi.cpp
Committed r39834