[Webkit-unassigned] [Bug 35330] New: TextIterator::range tries to return a range based on displayed characters rather than characters from the DOM

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 23 22:41:10 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=35330

           Summary: TextIterator::range tries to return a range based on
                    displayed characters rather than characters from the
                    DOM
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: HTML Editing
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: tony at chromium.org


In the attached example, the displayed text is:
GRÖSSTEN

The source html has:
<span style="text-transform:uppercase;">größten</span>

If you call WebCore::findPlainText and try to find the letter "n" we hit an
assert.  This happens because TextIterator finds the N with an offset of 8
(based on what is displayed).  When it tries to convert that to a DOM Range, it
tries to set an end offset of 8, which is beyond the end of the actual HTML. 
This triggers an assert at WebCore/dom/Range.cpp:87.

Is there a helper method for converting between offsets in the rendered text
and the source text?  I didn't see one in RenderText.

I see a similar bug when trying to select the word using double click (it
doesn't select the last character of the word).

-- 
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