[webkit-reviews] review requested: [Bug 24168] RTL: Home/End key does not behave correctly in mixed bidi text in RTL document : [Attachment 29402] patch w/ Layout test
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Apr 10 15:10:26 PDT 2009
Xiaomei Ji <xji at chromium.org> has asked for review:
Bug 24168: RTL: Home/End key does not behave correctly in mixed bidi text in
RTL document
https://bugs.webkit.org/show_bug.cgi?id=24168
Attachment 29402: patch w/ Layout test
https://bugs.webkit.org/attachment.cgi?id=29402&action=review
------- Additional Comments from Xiaomei Ji <xji at chromium.org>
Hi Mitz,
Thanks for your inputs on previous patch. They are very helpful!
I changed to reconstruct the logic order from line boxes by reversing L2 phase
in Unicode Bidi algorithm.
I am reconstructing the logic order of leave boxes only. I think that should be
enough.
But I still have 3 questions:
1. I am implementing the logic "home/end' key functionality in "move" +
"right"/"left", but I think it should be done in "move" + "forward"/"backward".
2. The reconstruction is done in editing per home/end operation.
I am not sure whether it should be done in rendering code, after the whole
structure of a line is fully constructed? and in-validate it if line structure
changed? So it could save some performance overhead.
3. I am caching the logic chain in InlineBox because:
a) I need the chain (at least the 'next') for continuing reverse boxes during
reconstruct logic order from low bidi level to high bidi level.
b) I need the chain to get the 'next' (or 'prev') line box if the
startBox->renderer()->node() == NULL (or the endBox->renderer()->node() ==
NULL) in getLogicStartBoxAndNode() (or getLogicEndBoxAndNode()).
More information about the webkit-reviews
mailing list