Bug 47370

Summary: Make line boxes place themselves correctly in the inline direction.
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 46123    
Attachments:
Description Flags
Patch sam: review+

Description Dave Hyatt 2010-10-07 12:46:27 PDT
Make line boxes place themselves correctly in the inline direction.  This means the y-position for vertical line boxes will now be correct.
Comment 1 Dave Hyatt 2010-10-07 12:51:42 PDT
Created attachment 70135 [details]
Patch
Comment 2 Sam Weinig 2010-10-07 14:03:10 PDT
Comment on attachment 70135 [details]
Patch

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

Looks good other than the & issue.

> WebCore/rendering/style/RenderStyle.h:643
> +    void getTextShadowExtent(int &top, int &right, int &bottom, int &left) const { getShadowExtent(textShadow(), top, right, bottom, left); }
> +    void getTextShadowHorizontalExtent(int &left, int &right) const { getShadowHorizontalExtent(textShadow(), left, right); }
> +    void getTextShadowVerticalExtent(int &top, int &bottom) const { getShadowVerticalExtent(textShadow(), top, bottom); }
> +    void getTextShadowInlineDirectionExtent(int &logicalLeft, int &logicalRight) { getShadowInlineDirectionExtent(textShadow(), logicalLeft, logicalRight); }

The & are on the wrong side.

> WebCore/rendering/style/RenderStyle.h:662
> +    void getBoxShadowExtent(int &top, int &right, int &bottom, int &left) const { getShadowExtent(boxShadow(), top, right, bottom, left); }
> +    void getBoxShadowHorizontalExtent(int &left, int &right) const { getShadowHorizontalExtent(boxShadow(), left, right); }
> +    void getBoxShadowVerticalExtent(int &top, int &bottom) const { getShadowVerticalExtent(boxShadow(), top, bottom); }
> +    void getBoxShadowInlineDirectionExtent(int &logicalLeft, int &logicalRight) { getShadowInlineDirectionExtent(boxShadow(), logicalLeft, logicalRight); }

Here too.

> WebCore/rendering/style/RenderStyle.h:1278
> +    void getShadowExtent(const ShadowData*, int &top, int &right, int &bottom, int &left) const;
> +    void getShadowHorizontalExtent(const ShadowData*, int &left, int &right) const;
> +    void getShadowVerticalExtent(const ShadowData*, int &top, int &bottom) const;
> +    void getShadowInlineDirectionExtent(const ShadowData* shadow, int &logicalLeft, int &logicalRight) const
> +    {
> +        return isHorizontalWritingMode() ? getShadowHorizontalExtent(shadow, logicalLeft, logicalRight) : getShadowVerticalExtent(shadow, logicalLeft, logicalRight);
> +    }

And here.
Comment 3 Dave Hyatt 2010-10-07 14:17:01 PDT
Fixed in r69341.