Open Bug 358174 Opened 18 years ago Updated 2 years ago

Child windows (contextmenus, autocomplete popup) flash before showing content

Categories

(Core :: Widget: Cocoa, defect)

PowerPC
macOS
defect

Tracking

()

mozilla1.9beta1

People

(Reporter: hwaara, Unassigned)

Details

If you bring up a context menu, the autocomplete popup, or any other child window, it flashes before it draws its contents.

I think the reason is because we create and show the window, before its contents are painted. Ideally, we'd paint the window offscreen and hope for a call to nsCocoaWindow::Show() later that would show it.
Flags: blocking1.9?
Flags: blocking1.9? → blocking1.9+
Colin had Ian and I look at this for him on our "old, slow Macs" ;) and it's still around.

A couple of good testcases:

1) The "Latest Headlines" thing on the Bookmarks Bar
2) The Product or Component select here
3) http://www.mozilla.org/projects/minefield, ctrl-click on one of the tabs (Developers, etc.) just as the tooltip is coming up; if you get the timing right on this, there's a nice white box before the CM content loads....
Pav - can you take a look at this? We show the window and then draw, maybe we can't do anything about this.
One of my suspicious for this is that we always paint the bg color of the window white when creating it. Mayber that's the source of the flicker?
Target Milestone: --- → mozilla1.9beta2
We haven't shown the window yet when we paint it white in "nsCocoaWindow::StandardCreate". So that can't be why you're seeing a flash. If we didn't paint white you'd see the flash with a different background.

I still think the root of the problem here is that we put windows onscreen and then paint into them, and that isn't going to change any time soon.

I can see this bug on a slower Linux machine I have, but none of my Macs display it. They are too fast. I don't really know what to do about this.
Smokey - can you see this bug in Firefox 2?
Yeah, I saw this just this weekend with a particularly-slow-to-draw content context menu when looking at something in Fx2.  White box/flash before we fill in the pinstripes.
I can see it even on my fast MacBook. The problem is, as you describe, that we show the window and then paint it, rather than just paint it offscreen.
This bug is not a regression and if anything it gets better over time. I think the analysis that has been repeated in this bug 3 times is correct and that being the case we're not going to fix it for 1.9.

Stuart, can you reverse your blocking decision?
Flags: blocking1.9+ → blocking1.9-
This bug is very obvious in Songbird, where their popupmenus have black backgorund color. Actually, in all XUL popups with a background color that isn't gray/white, this bug is very visible.
Assignee: joshmoz → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.