Closed Bug 30301 Opened 25 years ago Closed 25 years ago

nsInterfaceState shouldn't waste time updating nonexistant UI

Categories

(Core :: DOM: Editor, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: akkzilla, Assigned: sfraser_bugs)

Details

(Keywords: perf, Whiteboard: [PDT-] reviewed fix in hand)

In the editor, selecting large blocks of text periodically freezes because it's updating the UI and updating paragraph styles. This happens even in plaintext compose where there is no such thing as paragraph style. nsInterfaceState shouldn't waste time trying to update these things in the plaintext case.
I have a fix for this, which is to only call the UI updating code if we've previously found that the XUL node for the appropriate button exists. This fix will really help selection performance in plain text mail, e.g. dealing with large text file attachments.
Status: NEW → ASSIGNED
Keywords: beta1, perf
Whiteboard: reviewed fix in hand
Putting on PDT+ radar for beta1.
Whiteboard: reviewed fix in hand → [PDT+]w/b minus on 03/08 - reviewed fix in hand
Removing PDT+ - Can you clarify what periodic freezing means? performance or a hang?
Whiteboard: [PDT+]w/b minus on 03/08 - reviewed fix in hand → [NEED INFO] reviewed fix in hand
A temporary hang, during which the UI, responsiveness to the selection, and everything else freezes.
M14 this sucker.
Target Milestone: M14
PDT-
Whiteboard: [NEED INFO] reviewed fix in hand → [PDT-] reviewed fix in hand
move to M15; P1
OS: Linux → All
Priority: P3 → P1
Hardware: PC → All
Target Milestone: M14 → M15
I checked in the quick fix; still need to code a more generic way for XUL/JS to register nodes in C++ that need updating.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
verified in 3/20 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.