Closed
Bug 102834
Opened 24 years ago
Closed 24 years ago
Drop-down comboboxes appear below Dock
Categories
(Core :: Layout: Form Controls, defect)
Tracking
()
VERIFIED
FIXED
mozilla0.9.5
People
(Reporter: the_great_spam_bin, Assigned: mikepinkerton)
Details
(Whiteboard: [PDT+][ETA 10.08] [OSX+])
Attachments
(1 file, 2 obsolete files)
|
1.62 KB,
patch
|
sdagley
:
review+
sdagley
:
superreview+
asa
:
approval+
|
Details | Diff | Splinter Review |
Although as of recent builds, XUL popups can no longer appear below the Dock
(bug 83570), drop-down comboboxes still can. I think that the reason for this
problem is that in nsComboboxControlFrame::PositionDropdown(), the position of
the drop-down is calculated using the raw height of the screen instead of an
adjusted height that compensates for the Dock. This is a pretty annoying and
probably easy to fix UI issue.
Comment 1•24 years ago
|
||
No, not much is easy to fix, especially with the combobox. It does get the
screen height. I don't think the APIs reflect anything else. Hyatt, was XUL
changed to compensate for this?
In nsMenuPopupFrame::SyncViewWithFrame(), the XUL menu is positioned according
to the bounds given by nsIDOMScreen::GetAvailTop(), ...Left(), ...Width(), and
...Height(). Bug 83570 modified nsScreenMac::GetAvailRect() to use a native API
which returned the bounding rectangle of the screen minus the menu bar and the
dock. I'm not sure why the combobox isn't using the screen's GetAvail... methods
to position the drop-down.
Updated•24 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 3•24 years ago
|
||
They aren't using them, because no one ever bothered to tell me about them when
they went in.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.6
| Assignee | ||
Comment 4•24 years ago
|
||
this should be simple enough and i'm on a roll today. taking.
Assignee: rods → pinkerton
Status: ASSIGNED → NEW
| Assignee | ||
Comment 5•24 years ago
|
||
| Assignee | ||
Updated•24 years ago
|
Status: NEW → ASSIGNED
| Assignee | ||
Comment 6•24 years ago
|
||
rod, can you review the patch? bascially it changes
nsFormControlFrame::GetScreenHeight to use the client area intstead of the full
area of the screen. the client area subtracts off the menubar, dock, taskbar,
etc which i can't see you ever wanting to position any form element over.
This is technically wrong for Windows because drop-downs are allowed to cover
the taskbar. XUL popups in nsComboboxControlFrame::PositionDropdown() checks
whether the OS allows popups to cover the OS bars and then decides whether to
use the client rect or the screen rect.
| Assignee | ||
Comment 8•24 years ago
|
||
ok, you're right about win32 and covering the taskbar, but i disagree that
nsComboboxControlFrame::PositionDropdown takes this into account. There's
nothing in that routine that checks that flag in look&feel.
| Assignee | ||
Comment 10•24 years ago
|
||
| Assignee | ||
Updated•24 years ago
|
Attachment #52054 -
Attachment is obsolete: true
| Assignee | ||
Comment 11•24 years ago
|
||
latest patch checks lookandfeel like xul popups do. both mac and win32 should be
good to go now. patch also adds a contractid for lookandfeel.
Comment 12•24 years ago
|
||
Looks right to me. r/sr=sfraser
Comment 13•24 years ago
|
||
You do not need to go get a LookAndFeel via "create instance", the PresContext
caches a reference for speed, do this instead:
nsCOMPtr<nsILookAndFeel> lookAndFeel;
aPresContext->GetLookAndFeel(getter_AddRefs(lookAndFeel));
(Also, check the tab settings the indentation looks wierd in the patch)
With the above change r=rods
| Assignee | ||
Comment 14•24 years ago
|
||
| Assignee | ||
Comment 15•24 years ago
|
||
final version of patch, no longer creates instance of look&feel and de-tabs that
routine once and for all. thanks for the pointer rod.
| Assignee | ||
Updated•24 years ago
|
Attachment #52057 -
Attachment is obsolete: true
Comment 16•24 years ago
|
||
Comment on attachment 52081 [details] [diff] [review]
detabs and gets look&feel from presContext.
setting r and sr flags since sfraser and rods have given them
Attachment #52081 -
Flags: superreview+
Attachment #52081 -
Flags: review+
Comment 17•24 years ago
|
||
let it bake on the trunk for a couple of days, then let's see if we can take it.
Keywords: nsbranch+
Whiteboard: [PDT]
Comment 18•24 years ago
|
||
Comment on attachment 52081 [details] [diff] [review]
detabs and gets look&feel from presContext.
a=asa (on behalf of drivers) for checkin to 0.9.5.
Attachment #52081 -
Flags: approval+
| Assignee | ||
Updated•24 years ago
|
Target Milestone: mozilla0.9.6 → mozilla0.9.5
| Assignee | ||
Comment 19•24 years ago
|
||
landed on trunk, waiting for go-ahead on branch
Updated•24 years ago
|
Whiteboard: [PDT] → [PDT][ETA 10.08] [OSX+]
Comment 20•24 years ago
|
||
pls check this into the branch - PDT+, after they have been verified on the trunk
Whiteboard: [PDT][ETA 10.08] [OSX+] → [PDT+][ETA 10.08] [OSX+]
| Assignee | ||
Comment 21•24 years ago
|
||
landed on MOZILLA_0_9_4_BRANCH.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Comment 22•24 years ago
|
||
verified fixed on branch build :- 2001-10-11-04-0.9.4 macOS X
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•