Specialize RenderedPosition for bidi adjustment in SelectionController
This patch removes the general member functions in RenderedPosition that inspect properties of bidi runs, and replace them by functions providing the exact information needed by SelectionController, which is the only client of RenderedPosition. Details: - Introduced RenderedPosition::BidiBoundaryType, so that we can obtain whether an RP is at bidi boundary without re-comparing its offset. - Replaced almost all existing member functions by - AtBidiBoundary(), replacing AtL/RBoundaryOfBidiRun() - BidiRunContains(other_rp), replacing |other_rp == this->L/RBoundaryOfBidiRun(other_rp.BidiLevelOnR/L())| - IsPossiblyOtherBoundaryOf(other_rp), replacing |this->AtL/RBoundaryOfBidiRun(other_rp.BidiLevelOnL/R())| Bug: 811502 Change-Id: I0b59b76e8060a5953295e09c98fcf7127a636ecc Reviewed-on: https://chromium-review.googlesource.com/1056220Reviewed-by:Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Cr-Commit-Position: refs/heads/master@{#558202}
Showing
Please register or sign in to comment