Open Bug 280373 Opened 20 years ago Updated 2 years ago

XUL MenuPopup with nested [Menu]Popup misbehaves: stuck, or popsdown on submenu click, or pops up on hover.

Categories

(Core :: XUL, defect)

x86
Windows 2000
defect

Tracking

()

People

(Reporter: gekacheka, Unassigned)

References

Details

(Keywords: testcase, Whiteboard: DUPEME)

Attachments

(2 files, 1 obsolete file)

14.37 KB, application/vnd.mozilla.xul+xml
Details
4.19 KB, application/vnd.mozilla.xul+xml
Details
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

XUL MenuPopup with nested [Menu]Popup misbehaves: stuck, or popsdown on submenu
click, or pops up on hover.

XUL Menupopup with nested [menu]popup misbehaves in one of the
following ways, depending on xul elements:
  A. the datepicker popup becomes STUCK (most cases)
  B. the datepicker popup DISAPPEARS WHEN ITS MENU IS CLICKED
  C. the menu popup BEHAVES AS SUBMENU (excess padding not from CSS,
     popup on hover with no popdown)
  (D. does not appear at all)
No configuration found that behaves as expected.

Summary:

The Calendar project has a datepicker field that looks like a
menulist, where the text field displays a date and clicking the popup
button pops up a month calendar grid for picking the day of the month.
On this month calendar grid, the month name and year appear at the
top.  The idea in bug 199779 is that these should appear like menus
and enable the user to quickly change the month and year: when
clicked, they should pop up over the grid.  When month (or year)
selected, they should pop down so the grid remains showing.  Thus,
users can optionally pick a year and/or month, and then when they a
pick date within the month grid, the grid pops down.

However, this popup within a popup behaves incorrectly (depending on
what xul elements are used to create it):
  A. the datepicker popup becomes STUCK (most cases)
    A1. menulist + menupopup/vbox/menubar/menu + menupopup/menuitem
    A2. menulist + menupopup/vbox/menubar/menu + menupopup/TEXT
    A3. menulist + menupopup/vbox/HBOX/TEXT + menupopup/menuitem
    A4. menulist + menupopup/vbox/HBOX/TEXT + POPUP/menuitem
    A5. menulist + menupopup/vbox/HBOX/TEXT + menupopup/TEXT
  B. the datepicker popup DISAPPEARS WHEN ITS MENU IS CLICKED
    B1. menulist + menupopup/vbox/HBOX/menu + menupopup/menuitem
  C. the menu popup BEHAVES AS SUBMENU (excess padding not from CSS,
  popup on hover with no popdown)
    C1. menulist + menupopup/vbox/HBOX/menu + menupopup/TEXT
  (D. does not appear at all)
    D1. menulist + POPUP/vbox/menubar/menu + menupopup/menuitem

Expected most configurations to implement a popup within a popup
without these problems.  

Details: 

See example xul file (attached) for details.  In examples, grid is
truncated to one line (days of week) for brevity, and code to change
the labels when a selection is made is not included.


Reproducible: Always

Steps to Reproduce:
Attached file example/test cases (XUL) (obsolete) —
Blocks: 199779
Keywords: testcase
A menulist tag looks like this:

<menulist>
  <menupopup>
    <menuitem/>
  <menupopup>
</menulist>

Any other form is not valid.

And putting a <menubar> tag anywhere will cause it to appear on the top of the
screen on a Mac.

If you could create a reduced testcase with only one example, that would be better.
Removed case with menulist+POPUP (D1) [menulist requires menupopup]
Removed cases with menubar (A1, A2) [menubar inappropriate on MacOS]
Added case with menu as POPUP/TEXT (A6)
Attachment #172843 - Attachment is obsolete: true
Attached file test case A3 alone
Whiteboard: DUPEME
Blocks: 278877
The bug 344075 is duplicate or related with this one.
The bug 286751 is probably too.
Component: XP Toolkit/Widgets: Menus → XUL
QA Contact: xptoolkit.widgets
Is this still an issue?
Looks like in theory this should be fixed by bug 279703 and followups on 1.9, and the testcases do work better in FireFox 3 (no hang) on w2k.

We'll know better if there is a remaining issue for the Calendar project any longer (for bug 286747) after Calendar moves to 1.9 (it is still primarily on 1.8 so that Lightning 0.9 will work on Thunderbird 2).  It is moving to 1.9 after the Lightning 0.9 release which will hopefully happen in September or so.
While behavior was greatly improved, some testcases still fail. Its still not easily possible to have a popup in a popup without some evil hacks.

I can elaborate more on things still happening if needed.
You should probably simplified testcases if there are still issues, possibly in new bugs. The tests in this bug are invalid and too complicated.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: