Bug 53180 - CSS 2.1 Failure: rtl-linebreak In bidi contexts, borders of inline elements are sometimes suppressed in the presence of linebreaking.
Summary: CSS 2.1 Failure: rtl-linebreak In bidi contexts, borders of inline elements a...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL: http://test.csswg.org/suites/css2.1/2...
Keywords:
Depends on:
Blocks: 47141
  Show dependency treegraph
 
Reported: 2011-01-26 11:04 PST by Tab Atkins
Modified: 2011-01-26 11:04 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tab Atkins 2011-01-26 11:04:09 PST
Testcase:
data:text/html,<!doctype html><div dir=rtl style="width: 20em" id=foo><span style="border: 2px solid;">Box</span> Some long text that should make sure we line-wrap.  If this didn't line-wrap, it should be longer.</div> <input type=range step=0.1 min=10 max=50 value=20 onchange="foo.style.width=this.value+'em';">

You should see that the right border of "Box" is suppressed at first, but it comes back if the box gets wide enough that the text no longer linewraps.

The same thing happens if dir=ltr and the text is all rtl, such as in this testcase:

data:text/html;charset=utf-8,<!doctype html><div style="width: 20em" id=foo><span style="border: 2px solid;">%D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99</span>%D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99 %D7%A2%D6%B4%D7%91%D6%B0%D7%A8%D6%B4%D7%99</div> <input type=range step=0.1 min=10 max=50 value=20 onchange="foo.style.width=this.value+'em';">

I don't believe we should ever be suppressing the border here.  At the very least, no other browser suppresses the border.