Bug 47370 - Make line boxes place themselves correctly in the inline direction.
Summary: Make line boxes place themselves correctly in the inline direction.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Dave Hyatt
URL:
Keywords:
Depends on:
Blocks: 46123
  Show dependency treegraph
 
Reported: 2010-10-07 12:46 PDT by Dave Hyatt
Modified: 2010-10-07 14:17 PDT (History)
0 users

See Also:


Attachments
Patch (34.81 KB, patch)
2010-10-07 12:51 PDT, Dave Hyatt
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.