[Webkit-unassigned] [Bug 36256] shift+click to extend a wordgranularity selection backwards selects the space after
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Sep 15 11:29:51 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=36256
--- Comment #12 from Ryosuke Niwa <rniwa at webkit.org> 2011-09-15 11:29:51 PST ---
(From update of attachment 104955)
View in context: https://bugs.webkit.org/attachment.cgi?id=104955&action=review
>>>>>>> Source/WebCore/editing/VisibleSelection.cpp:300
>>>>>>> + if (isEndOfDocument(originalEnd) || (isEndOfLine(originalEnd) && !isStartOfLine(originalEnd) && !isEndOfParagraph(originalEnd)) || (isEndOfWord(originalEnd) && start != originalEnd && m_extent != originalEnd))
>>>>>>
>>>>>> I'd split it into two lines since this is really long line. ap & mitz should probably look at this change.
>>>>>
>>>>> No, if c is at the end of a word, endOfWord(c, RightWordIfOnBoundary) returns the end of the following word.
>>>>
>>>>
>>>
>>> Given that I'm checking isEndOfWord(originalEnd) && start != originalEnd, without doing the additional m_extent != originalEnd check, word-granularity mouse selections don't work correctly. What happens is given:
>>>
>>> foo bar baz
>>>
>>> If you double click in 'bar' and drag the mouse to the right to the position after the r in 'bar, it should grow the selection to include the space after 'bar' (in general the next word); it doesn't grow the selection if I omit the check in question.
>>>
>>> I do admit it's not very clear what this check is doing; I'll try to find a more clear way to do this check. I initially saw that the first check (if originalEnd is at the end of a word) would fix the problem and added the other two checks to keep other behavior the same.
>>
>> Shouldn't we be comparing it with m_end then?
>
> originalEnd is declared:
>
> VisiblePosition originalEnd(m_end, m_affinity); and is not modified until my check, so there shouldn't be a difference.
But you see
if (m_baseIsFirst) {
m_start = m_base;
m_end = m_extent;
} else {
m_start = m_extent;
m_end = m_base;
}
above, right?
--
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