Closed Bug 665540 Opened 13 years ago Closed 13 years ago

Select (drop-down) box customized with CSS appears in upper left corner of the window if in fullscreen

Categories

(Core :: Widget: Gtk, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: thevil, Assigned: karlt)

References

(Depends on 1 open bug)

Details

(Keywords: regression)

Attachments

(4 files)

User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0 Build Identifier: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0 Select (drop-down) box customized with CSS appears in upper left corner of the window if in fullscreen. This appears also when KDE window manager hides window borders (option in the Window menu | Advanced | No border). Very annoying. Reproducible: Always Steps to Reproduce: 1. Click the 'down arrow' in the drop-down Actual Results: The list appears in upper left corner. Expected Results: The list should appear under select drop-down Kubuntu 11.04 with KDE 4.6.4. Linux mmm 2.6.38-8-generic-pae #42-Ubuntu SMP Mon Apr 11 05:17:09 UTC 2011 i686 i686 i386 GNU/Linux
Attached file Offending CSS
Attached file HTML example
Confirmed on Ubuntu10.04+Gnome2.30.2 http://hg.mozilla.org/mozilla-central/rev/058a584ea7d3 Mozilla/5.0 (X11; Linux i686; rv:7.0a1) Gecko/20110620 Firefox/7.0a1 ID:20110620030833 http://hg.mozilla.org/releases/mozilla-aurora/rev/6c2e0aa5381c Mozilla/5.0 (X11; Linux i686; rv:6.0a2) Gecko/20110620 Firefox/6.0a2 ID:20110620042017 http://hg.mozilla.org/releases/mozilla-release/rev/7b56ff900c2a Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0 ID:20110615151330 Regression window: Works: http://hg.mozilla.org/mozilla-central/rev/868be4c08700 Mozilla/5.0 (X11; Linux i686; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre ID:20110324113126 Fails: http://hg.mozilla.org/mozilla-central/rev/0798b52bb40d Mozilla/5.0 (X11; Linux i686; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre ID:20110324144535 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=868be4c08700&tochange=0798b52bb40d Suspected Bug: 65279f6a853 Ehsan Akhgari — Bug 610391 - Create the widget for drop-down comboboxes lazily, and tear it down when the drop-down is closed; r=roc
Component: General → Layout: Form Controls
Keywords: regression
Product: Firefox → Core
QA Contact: general → layout.form-controls
Version: unspecified → Trunk
Blocks: 610391
Status: UNCONFIRMED → NEW
Ever confirmed: true
I can reproduce on Linux, but not on Mac. CCing karlt, since it seems to be some kind of a widget issue...
Initial observations: If the main window is fullscreen (or, less ambiguously, full-monitor), there is always a black flicker over the whole window (not the whole screen) when the popup is shown, regardless of the position of the main window on the screen, suggesting that either the popup is initially shown fullscreen, or the main window is painting when it does not expect to be. This issue is present even in Firefox 4. It does not happen in the maximized, no border/titlebar situation (where this bug demonstrates). This bug happens only when top-left of the main window is at the top-left of the screen (i.e. 0,0), regardless of whether it occupies the whole monitor rectangle or not.
The extremely weird thing is that the code to create the popup widget has not changed at all, we just do it at a different time now...
I suspect what has happened is that the later creation of the popup widget means that a Resize has been skipped. When the main window is not at (0,0), this comes from nsView::DoResetWidgetBounds < NotifyEffectiveVisibilityChanged < SetVisibility. When the main window is not at (0,0) it does not happen because the bounds are already correct. In the GTK port, toplevel windows are not positioned based on the rectangle passed to create; they are only positioned if there is an explicit move or resize(x,y,w,h). This is appropriate for managed windows because it lets the window manager position main windows. It is not appropriate, however, for override-redirect windows because the window manager will not position these. (In reply to comment #6) > If the main window is fullscreen (or, less ambiguously, full-monitor), there > is always a black flicker ... That seems to only happen when the window manager is compositing, so perhaps that is an issue with the window manager.
Assignee: ehsan → karlt
Component: Layout: Form Controls → Widget: Gtk
QA Contact: layout.form-controls → gtk
Still need to come up with a test.
Attachment #540658 - Flags: review?(roc)
Comment on attachment 540658 [details] [diff] [review] position new popup windows even when there is no Move() or Resize(x,y,w,h) Review of attachment 540658 [details] [diff] [review]: -----------------------------------------------------------------
Attachment #540658 - Flags: review?(roc) → review+
Status: NEW → RESOLVED
Closed: 13 years ago
OS: Linux → All
Hardware: x86 → All
Resolution: --- → FIXED
Whiteboard: [inbound]
Target Milestone: --- → mozilla8
Blocks: 671532
Depends on: 671277
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: