Closed Bug 453541 Opened 16 years ago Closed 15 years ago

Unnecessary second repaint when changing window focus

Categories

(Core :: Widget: Cocoa, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.3a1

People

(Reporter: mstange, Assigned: mstange)

References

Details

(Keywords: perf)

Since bug 406730 the theme can set CSS styles based on a window's main state. However, these restyles are processed too late. When focusing / unfocusing a window, they cause a second invalidation of the window which is unnecessary. See bug 432131 comment 22 for all the details.
You can watch the repaint using QuartzDebug.

It would be good to avoid this invalidation. Maybe we can send a notification from widget to Gecko that says "Please flush all restyles now"?
No longer blocks: 453540
This is easy. We can just call FlushPendingNotifications(Flush_Display) on the
PresShell after we set the attribute.
I'll do that after bug 508482.
Or we can move the flushing to viewWillDraw.
Depends on: 517804
... which I'm doing in bug 517804.
Blocks: 455539
Keywords: perf
Fixed by bug 517804.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a1
Reopened by backout of bug 517804.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Fixed by relanding of bug 517804.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.