[Webkit-unassigned] [Bug 30946] New: Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 29 23:04:58 PDT 2009


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

           Summary: Extra layout on keypress after a space (problem with
                    rebalanceWhitespaceAt in InsertTextCommand)
           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: justin.garcia at apple.com
                CC: adele at apple.com, jparent at google.com,
                    ojan at chromium.org, enrica at apple.com


When a insert a character after a space, we do two layouts:

insertTextIntoNode(textNode, offset, text); => setNeedsLayout
rebalanceWhitespaceAt(startPosition); => replaceTextInNode => updateLayout
then
rebalanceWhitespaceAt(startPosition); => replaceTextInNode => setText =>
setNeedsLayout
setEndingSelection(Selection(endingSelection().end(),
endingSelection().affinity()))) => updateLayout

I think we have two ways to go here:

Make the decision about what we need to turn adjacent spaces into before we do
any DOM operations (since this requires a fresh layout), and do whitespace
modifications with all of the other DOM operations that the command performs.
Turn all spaces into non-breaking spaces (I believe we can do this because of
the non-breaking-space-mode:space we have on editable regions) and then turn
them into patterns at serialization time.

ojan Vafai <ojan at chromium.org>

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