Summary: | [CSSRegions] Make regions repaint properly. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dave Hyatt <hyatt> | ||||||
Component: | Layout and Rendering | Assignee: | Dave Hyatt <hyatt> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | achicu, mihnea, rcaliman, stearns | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 57312 | ||||||||
Attachments: |
|
Description
Dave Hyatt
2011-08-15 14:40:11 PDT
Created attachment 103957 [details]
Work in progress (just need tests)
Comment on attachment 103957 [details] Work in progress (just need tests) View in context: https://bugs.webkit.org/attachment.cgi?id=103957&action=review > Source/WebCore/rendering/RenderView.h:251 > bool m_pageLogicalHeightChanged; > LayoutState* m_layoutState; > unsigned m_layoutStateDisableCount; > + bool m_hasRenderFlowThreads; Put this next to the other bools to reduce padding. This will likely also fix https://bugs.webkit.org/show_bug.cgi?id=66199. Created attachment 104073 [details]
Patch
Comment on attachment 104073 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=104073&action=review > Source/WebCore/rendering/RenderFlowThread.cpp:305 > + // We only have to issue a repaint in this region if the region rect intersects the repaint rect. > + LayoutRect flippedRegionRect(region->regionRect()); > + flipForWritingMode(flippedRegionRect); // Put the region rect into physical coordinates. Can we assume that the rect will only intersect some contiguous set of regions? That might avoid having to iterate through all regions for each repaint, which is not terribly efficient. > LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:1 > +layer at (0,0) size 800x600 Can the tests avoid the use of so much text, to reduce spurious pixel diffs? Fixed ages ago. Just forgot to close. |