Bug 51344 - [RTL] WebKit hangs when moving caret in mixed Bidi text
Summary: [RTL] WebKit hangs when moving caret in mixed Bidi text
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-20 12:00 PST by Ryosuke Niwa
Modified: 2010-12-20 20:13 PST (History)
4 users (show)

See Also:


Attachments
demo (402 bytes, text/html)
2010-12-20 12:00 PST, Ryosuke Niwa
no flags Details
patch w/ layout test (4.34 KB, patch)
2010-12-20 19:59 PST, Xiaomei Ji
mitz: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2010-12-20 12:00:31 PST
Created attachment 77021 [details]
demo

This is a variant of the bug 49111.  Open the attachment and WebKit hangs inside VisiblePosition::rightVisuallyDistinctCandidate:

                box = nextBox;
                renderer = box->renderer();
                offset = box->caretLeftmostOffset();
                if (box->bidiLevel() > level) {
                    do {
                        nextBox = box->nextLeafChild();
                    } while (nextBox && nextBox->bidiLevel() > level);
                    // we get stuck in this while loop.

                    if (!nextBox || nextBox->bidiLevel() < level)
                        continue;
                }
Comment 1 Xiaomei Ji 2010-12-20 19:59:55 PST
Created attachment 77076 [details]
patch w/ layout test
Comment 2 Xiaomei Ji 2010-12-20 20:13:50 PST
Committed r74385: <http://trac.webkit.org/changeset/74385>