If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Autohide attribute on menubar does not display menubar

RESOLVED FIXED in seamonkey2.23

Status

SeaMonkey
General
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: patrickjdempsey, Assigned: neil@parkwaycc.co.uk)

Tracking

SeaMonkey 2.22 Branch
seamonkey2.23
x86
Windows XP

SeaMonkey Tracking Flags

(seamonkey2.22 affected, seamonkey2.23 fixed, seamonkey2.24 unaffected, seamonkey2.25 unaffected)

Details

Attachments

(1 attachment)

(Reporter)

Description

4 years ago
User Agent: Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 (Beta/Release)
Build ID: 20131025151332

Steps to reproduce:

Either by pressing F11 to go into Fullscreen mode, or applying the "autohide" attribute to the menubar in SeaMonkey, correctly hides the bar, however pressing Alt does not unhide the bar.  Pressing Alt and down (or the appropriate access key) will display a menu, but the menubar itself remains hidden.


Actual results:

When the autohide attribute is used on a menu toolbar, it loads up this binding:
chrome://global/content/bindings/toolbar.xml#toolbar-menubar-autohide

The binding in turn applies the inactive=true attribute to the menu toolbar.  In Firefox, pressing the Alt button removes the inactive=true attribute which temporarily shows the menu toolbar.  Any activity outside of this should reapply inactive=true and rehide the menu toolbar
(Reporter)

Comment 1

4 years ago
This was originally applied to SeaMonkey in Bug 540629

Comment 2

4 years ago
So this is a regression (somewhere) between 2.21 release & 2.22 release.
 
 
> In Firefox, pressing the Alt button removes the inactive=true attribute which
> temporarily shows the menu toolbar

I do not see that at all?
From what I can see, FF never displays the menu toolbar at all when in Full Screen.

IMO, our method is much better :-).


Similar FF Bug 648504 - Alt-key access to pull-down Menu Bar menus does not work in full-screen mode
(Reporter)

Comment 3

4 years ago
In Firefox, this method is used for when the menubar is hidden in normal mode.
(Reporter)

Comment 4

4 years ago
Maybe I can summarize better:

Firefox 3.6 introduced the ability to autohide the menu toolbar.  This was created by Bug 477256, and works like this:  

Unchecking the "Menu Bar" item in the toolbar context menu applies the "autohide=true" attribute to the menu toolbar. This in turn activates the toolbar-menubar-autohide binding which applies the "inactive=true" attribute which tells some CSS to hide the toolbar.  Pressing the Alt button causes the binding to remove the "inactive=true" attribute which temporarily shows the menu toolbar until some other action is taken, which reinstate the "inactive=true" attribute.

SeaMonkey devs did not implement this into SeaMonkey for normal mode.

SeaMonkey Bug 540629 adds the autohide attribute to the menu toolbar when in Fullscreen mode, which activates the toolbar-menubar-autohide binding, etc.  This effectively fixes Bug 648504 and Bug 575755 for Firefox in SeaMonkey.
(Reporter)

Comment 5

4 years ago
Maybe I can summarize better:

Firefox 3.6 introduced the ability to autohide the menu toolbar.  This was created by Bug 477256, and works like this:  

Unchecking the "Menu Bar" item in the toolbar context menu applies the "autohide=true" attribute to the menu toolbar. This in turn activates the toolbar-menubar-autohide binding which applies the "inactive=true" attribute which tells some CSS to hide the toolbar.  Pressing the Alt button causes the binding to remove the "inactive=true" attribute which temporarily shows the menu toolbar until some other action is taken, which reinstate the "inactive=true" attribute.

SeaMonkey devs did not implement this into SeaMonkey for normal mode.

SeaMonkey Bug 540629 adds the autohide attribute to the menu toolbar when in Fullscreen mode, which activates the toolbar-menubar-autohide binding, etc.  This effectively fixes Bug 648504 and Bug 575755 for Firefox in SeaMonkey.

However, this is currently broken as the "inactive=true" attribute is applied, but is not correctly removed after pressing Alt.
(Assignee)

Updated

4 years ago
Depends on: 943804
(Assignee)

Comment 6

4 years ago
Bug 653881 broke event handling in this edge case. I filed bug 943804 to have this fixed in the back end. It's possible to work around the bug in UI code and we might have to do this in beta or aurora, so I'm leaving this bug open for that.
(Assignee)

Comment 7

4 years ago
Created attachment 8339182 [details] [diff] [review]
Branch workaround

Ironically bug 653881 made the workaround more minimal than it would have been, as the <children> is now an actual element and therefore I don't need to insert an explicit dummy element.
Assignee: nobody → neil
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #8339182 - Flags: review?(philip.chee)

Comment 8

4 years ago
Comment on attachment 8339182 [details] [diff] [review]
Branch workaround

This works. r=me for branches.
If Core Bug 943804 lands on branches then this patch isn't needed, right?
Attachment #8339182 - Flags: review?(philip.chee) → review+
(Assignee)

Comment 9

4 years ago
Right, this patch is only needed if 943804 doesn't uplift.

Comment 10

4 years ago
Comment on attachment 8339182 [details] [diff] [review]
Branch workaround

Bug 943804 will miss mozilla-beta so we'll need this for comm-beta
a=me comm-beta
Attachment #8339182 - Flags: approval-comm-beta+
(Assignee)

Comment 11

4 years ago
https://hg.mozilla.org/releases/comm-beta/rev/80f16a3e89db

2.24/2.25 aren't affected because bug 943084 landed in Gecko 27.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
status-seamonkey2.22: --- → affected
status-seamonkey2.23: --- → fixed
status-seamonkey2.24: --- → unaffected
status-seamonkey2.25: --- → unaffected
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.23
You need to log in before you can comment on or make changes to this bug.