Closed
Bug 352936
Opened 18 years ago
Closed 18 years ago
Download manager window not focused properly when already open and using "Do this automatically"
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ispiked, Assigned: ispiked)
Details
Attachments
(1 file)
839 bytes,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20060915 Minefield/3.0a1 Steps to reproduce: 1. Open the Downloads manager. 2. Go to the latest-nightly/ directory for Firefox builds and click the tar.gz installer link. 3. In the dialog, choose "Save To Disk" and check the "Do this automatically..." checkbox. 4. Click on the normal tar.gz build. Results: The Download manager window is brought to the front, but not focused. Clicking somewhere on the page will not make the current window come in front of the Download manager window. Expected results: Download manager window is brought to the front and focused.
Assignee | ||
Updated•18 years ago
|
Summary: Download manager window not focused properly when page has text selected → Download manager window not focused properly when already open and using "Do this automatically"
Assignee | ||
Comment 1•18 years ago
|
||
The problem is actually in GTK widget code. The call in the download manager to focus the window if it's already open boils down to GetAttention() in nsWindow.cpp. This calls gdk_window_show(). I really think we want to be calling gdk_window_show_unraised() here, since this seems to be what other platforms are doing for this function; e.g. not bringing the window to the front of other windows! I found one problem, though. This still doesn't give the window an "urgent" hint (blink the the window list) if a Firefox window is focused when this happens. But this bug happened with gdk_window_show(), too, so changing it wouldn't be regressing anything.
Component: Download Manager → Widget: Gtk
Product: Firefox → Core
QA Contact: download.manager → gtk
Assignee | ||
Comment 2•18 years ago
|
||
Assignee | ||
Comment 3•18 years ago
|
||
Comment on attachment 238904 [details] [diff] [review] Use gdk_window_show_unraised() So this fixes the problem with the download manager. I'm somewhat worried that this might have an affect on other stuff, but I played with some testcases using window.focus() and they seemed to be OK.
Attachment #238904 -
Flags: superreview?(roc)
Attachment #238904 -
Flags: review?(roc)
Attachment #238904 -
Flags: review?
Attachment #238904 -
Flags: superreview?(roc)
Attachment #238904 -
Flags: superreview+
Attachment #238904 -
Flags: review?(roc)
Attachment #238904 -
Flags: review+
Assignee | ||
Comment 4•18 years ago
|
||
So, I've been thinking about this and I still think this approach may be too obtrusive. I'm pretty sure that Windows just blinks the taskbar (doesn't show the window) and Mac just does makes the dock icon jump, but the only other alternative I see is to use gdk_window_set_urgency_hint() which is only since 2.8, so I don't think we can get away with using that for older GTK versions. :( I guess showing the window but not bringing it in front of all other windows is an improvement, though.
Whiteboard: [checkin needed]
Comment 5•18 years ago
|
||
Checking in widget/src/gtk2/nsWindow.cpp; /cvsroot/mozilla/widget/src/gtk2/nsWindow.cpp,v <-- nsWindow.cpp new revision: 1.185; previous revision: 1.184 done Checked into trunk.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
You need to log in
before you can comment on or make changes to this bug.
Description
•