Closed Bug 1415627 Opened 8 years ago Closed 8 years ago

Reflows in menus cause e10s <select> menupopups to be repositioned

Categories

(Core :: XUL, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox58 --- wontfix
firefox59 --- fixed

People

(Reporter: mstange, Assigned: enndeakin)

References

Details

Attachments

(1 file)

This bug is the underlying bug behind bug 1414926. Steps to reproduce: 1. Be on macOS. 2. Apply the patch at the end of this comment. 3. Visit https://www.mozilla.org/en-US/newsletter/ 4. Click on the <select> input to choose your country. 5. Scroll to either the top or bottom of the range of <options> (arrow keys work well to reproduce) Expected results: The <select> input should stay put when you reach the end of an <options> list. Actual results: The <select> input moves around the screen in an amusing way. Patch: diff --git a/toolkit/themes/osx/global/menu.css b/toolkit/themes/osx/global/menu.css --- a/toolkit/themes/osx/global/menu.css +++ b/toolkit/themes/osx/global/menu.css @@ -129,16 +129,17 @@ menubar > menu[_moz-menuactive="true"][o menupopup > menu, menupopup > menuitem, menupopup > menucaption { max-width: 42em; } menu[_moz-menuactive="true"], menuitem[_moz-menuactive="true"] { + padding-right: 1px; -moz-font-smoothing-background-color: -moz-mac-active-menuitem; color: -moz-mac-menutextselect; background-color: Highlight; } menuitem[customoptionstyling="true"] { -moz-appearance: none; padding-top: 0;
This issue here is that on Mac the menu is normally positioned so that selection is over the dropdown button, but that adjustment should only happen when the menu is first opened.
Assignee: nobody → enndeakin
Status: NEW → ASSIGNED
Attachment #8930902 - Flags: review?(mstange)
Comment on attachment 8930902 [details] [diff] [review] menulist-adjustpos-once Review of attachment 8930902 [details] [diff] [review]: ----------------------------------------------------------------- This looks great. Thanks for doing this! I'm curious, does the test fail without this patch, even without an artificial CSS tweak?
Attachment #8930902 - Flags: review?(mstange) → review+
Yes, it fails.
Pushed by neil@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/9f2ab0c45233 only calculate the offset that positions the current selection over the menulist button when the popup is first opened. After that use that cached value. r=mstange
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Do we need this fix in 58 or should it ride the trains to 59?
Flags: needinfo?(enndeakin)
My understanding is that the fix for 1414926 means that this bug isn't noticeable normally. However when I run the test changes here without the C++ changes (modified to run slower), I can see the menu flickering about a bit although it always end up in the right position. With all changes, the menu doesn't flicker. So this patch improves things, regardless of 1414926 and I don't think the patch is particularly risky. Asking Marcus if he thinks there is an issue here.
Flags: needinfo?(enndeakin) → needinfo?(mstange)
Getting late for 58 now, we only have a couple beta builds left in January.
Flags: needinfo?(mstange)
Component: XP Toolkit/Widgets: Menus → XUL
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: