Bug 65617

Summary: Make unicode-bidi:isolate the default for block elements instead of unicode-bidi:embed
Product: WebKit Reporter: Aharon (Vladimir) Lanin <aharon>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aharon, amir.aharoni, eric, honten, mitz, playmobil, shanestephens, xji
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 50912    
Bug Blocks: 50910    
Attachments:
Description Flags
test case
none
test case none

Description Aharon (Vladimir) Lanin 2011-08-03 06:33:08 PDT
When a block element is set to display:inline, it is desirable for it to behave bidi-wise as it would if it were display:inline-block. Under CSS2.1, there was no way to accomplish this, and unicode-bidi:embed was used for lack of a better choice. Now that we have unicode-bidi:isolate, it should be the default instead, as the HTML5 spec (http://dev.w3.org/html5/spec/Overview.html#non-replaced-elements) says it should be.
Comment 1 Aharon (Vladimir) Lanin 2011-08-03 06:57:07 PDT
Created attachment 102778 [details]
test case
Comment 2 Aharon (Vladimir) Lanin 2011-08-03 07:08:04 PDT
Created attachment 102780 [details]
test case
Comment 3 Eric Seidel (no email) 2011-08-08 09:24:20 PDT
This is going to make the bidi-isolate code even more performance-critical than it already is. :(  Oh well.
Comment 4 Aharon (Vladimir) Lanin 2011-08-09 04:50:02 PDT
Please note that unicode-bidi:isolate should not have any effect (and thus can be completely ignored) on elements that already constitute separate bidi paragraphs, e.g. elements with display other than inline, or that have float, or that have absolute position, etc. The default is meant for the case when a "block" element like div gets assigned display:inline. This should be a fairly rare case.
Comment 5 Eric Seidel (no email) 2011-09-29 11:45:42 PDT
I suspect this may be as simple as adding the CSS from the HTML5 spec into html.css in WebCore:
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#bidirectional-text
http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css

The important piece is of course the LayoutTests which get landed with any change.
Comment 6 Aharon (Vladimir) Lanin 2011-11-17 02:13:55 PST
The change needs to be effective for "block" elements whether or not they have a dir attribute. Rules like
  div {display:block; unicode-bidi:isolate;}
are not sufficient because the generic [dir] {unicode-bidi:embed;} is considered more specific and overrides them for elements with a dir attribute. See http://www.w3.org/Bugs/Public/show_bug.cgi?id=14850.
Comment 7 Aharon (Vladimir) Lanin 2013-09-24 08:28:42 PDT
*** Bug 74988 has been marked as a duplicate of this bug. ***