Closed Bug 299063 Opened 19 years ago Closed 18 years ago

skipped border edges on split (broken) inlines on wrong side for RTL

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dbaron, Assigned: dbaron)

References

(Blocks 1 open bug)

Details

(Keywords: rtl)

Attachments

(2 files)

When an inline element with a border is split across multiple lines, the borders are supposed to be open at the continuation. For RTL inlines, the border is open at the wrong end. Steps to reproduce: load attached testcase Expected results: the two halves are mirror images of each other Actual results: the RTL case has the borders open at the wrong end (in addition to some other bugs)
I plan to check a modified version of this (since more changes will be needed there) into REFLOW_20050429_BRANCH.
(But it won't do anything there either since embedding levels don't seem to be set on inlines; fixing that is bug 299065.)
Actually, according to http://www.w3.org/TR/CSS21/box.html#q11 , that's the wrong way to fix it. We should actually depend on the 'direction' property of the frame. (But we should still split the frame as described in bug 299065.)
No longer depends on: 299065
...but getting the leftmost piece on the first line might be a bit tricky.
Depends on: 299065
Although I actually think that would be confusing to read, and it makes more sense to have the padding, border, and margin at the start of the element (and potentially have left padding twice and right not at all, or vice-versa).
...except there would be no way to make the *-start and *-end versions work that way, since that computation is based on 'direction' rather than bidi reordering.
=> All/All
OS: Linux → All
Hardware: PC → All
Also need to fix nsInlineFrame::ReflowFrames: // Compute final width aMetrics.width = size.width; if (nsnull == mPrevInFlow) { aMetrics.width += aReflowState.mComputedBorderPadding.left; } if (NS_FRAME_IS_COMPLETE(aStatus)) { aMetrics.width += aReflowState.mComputedBorderPadding.right; }
Depends on: 328168
Bug 328168 describes a more general case of this bug.
Blocks: 137995
Fixed by Haamed's patch for bug 328168.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Mass-assigning the new rtl keyword to RTL-related (see bug 349193).
Keywords: rtl
Component: Layout: BiDi Hebrew & Arabic → Layout: Text
QA Contact: zach → layout.fonts-and-text
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: