[Webkit-unassigned] [Bug 10123] when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 7 21:21:55 PDT 2011


--- Comment #12 from roseN <rosen.dash at motorola.com>  2011-10-07 21:21:56 PST ---
Please look into this attachment crash_test_set.html at

In the first two cases the page goes into an infinite loop.

The outer while loop in leftVisuallyDistinctCandidate() or rightVisuallyDistinctCandidate() depends only on value of p. If we enter into this loop without changing p, this leads into an infinite loop case. This condition appears when we try to move beyond a CSS pseudoelement (like before or after) without any text in its parent node. To prevent these cases we have to check whether the value of p is other than m_deepPosition before entering into this loop again.

(In reply to comment #11)
> (From update of attachment 109760 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=109760&action=review
> > Source/WebCore/editing/VisiblePosition.cpp:235
> > +        if ((p.isCandidate() && p.downstream() != downstreamStart) || p.atStartOfTree() || p.atEndOfTree() || p == m_deepPosition)
> I don't understand why you return p when p == m_deepPosition. Same below in rightVisuallyDistinctCandidate. Could you please clarify?

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list