Bug 48444

Summary: Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: dimich
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 46123    
Attachments:
Description Flags
Patch
aroben: review+
Platform/mac image (expected)
none
Actual file as DRT produces none

Description Dave Hyatt 2010-10-27 11:05:46 PDT
Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox.  They're hardcoded to assume horizontal-tb writing-mode right now.
Comment 1 Dave Hyatt 2010-10-29 12:56:02 PDT
Created attachment 72376 [details]
Patch
Comment 2 Adam Roben (:aroben) 2010-10-29 13:12:52 PDT
Comment on attachment 72376 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=72376&action=review

> WebCore/rendering/RenderBox.h:382
> +    int convertFromFlippedWritingMode(int);

I think a parameter name here would be helpful.

Should this instead have a name like "convertFromLogicalToPhysicalVerticalPosition" or just "toPhysicalVerticalPosition"?

> WebCore/rendering/RenderLineBoxList.cpp:173
> +bool RenderLineBoxList::anyLinesIntersectDirtyRect(RenderBoxModelObject* renderer, const PaintInfo& paintInfo, int tx, int ty, bool usePrintRect) const

I might have moved the "s" from "Lines" to "Intersect": anyLineIntersectsDirtyRect.

> WebCore/rendering/RenderLineBoxList.h:74
>  private:
> +    bool anyLinesIntersectDirtyRect(RenderBoxModelObject*, const PaintInfo&, int x, int y, bool usePrintRect) const;
> +    bool lineIntersectsDirtyRect(RenderBoxModelObject*, InlineFlowBox*, const PaintInfo&, int x, int y) const;
> +    bool rangeIntersectsDirtyRect(RenderBoxModelObject*, int logicalTop, int logicalBottom, const PaintInfo&, int x, int y) const;
> +
> +private:

What's with the double private:?
Comment 3 Dave Hyatt 2010-10-29 13:26:12 PDT
Fixed in r70917.
Comment 4 Dmitry Titov 2010-10-29 15:18:57 PDT
This seem to brake image compare for fast/blockflow/english-rl-text.html.

To repro, run this on post-70917 WebKit, nac build:
run-webkit-tests -p LayoutTests/fast/blockflow/english-rl-text.html

I'll attach 2 images in a second.
Comment 5 Dmitry Titov 2010-10-29 15:20:16 PDT
Created attachment 72403 [details]
Platform/mac image (expected)
Comment 6 Dmitry Titov 2010-10-29 15:21:03 PDT
Created attachment 72405 [details]
Actual file as DRT produces