[Unity] Pressing AltGr closes autohide XUL <panel>

NEW
Unassigned

Status

()

P3
normal
2 years ago
a year ago

People

(Reporter: benny, Unassigned)

Tracking

48 Branch
x86_64
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(4 attachments)

(Reporter)

Description

2 years ago
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
Build ID: 20160728203720

Steps to reproduce:

I am porting a crome extension and need to key in a e-mail adr. in the popup (browser action) as pr. design. With the Danish keyboard I need to get the add sign (@) by first pressing AltGr and while holding down this key pressing 2.


Actual results:

Pressing AltGr closes the dialog. E.g. I am unable to key in an e-mail adr.


Expected results:

Do not close dialog and write '@' after pressing 2
(Reporter)

Updated

2 years ago
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
(Reporter)

Comment 1

2 years ago
https://en.wikipedia.org/wiki/AltGr_key

Why does pressing AltGr close popup dialog?

Comment 2

2 years ago
What is a "webextension popup" and how to create that? Please provide a test case.
Flags: needinfo?(benny)
(Reporter)

Comment 3

2 years ago
Created attachment 8778544 [details]
Popup picture
(Reporter)

Comment 4

2 years ago
Please see attachment of opened popup that close automatically when I press AltGr as I key in an email adr. in relevant field.

The code is very big to upload - if needed I can make a small example.
(Reporter)

Comment 5

2 years ago
Just to clarify:

The same code (extension) does not behave like that in the Chrome browser - there it is possible to key in a '@'
(Reporter)

Comment 6

2 years ago
Actually all FF extensions/add-ons close when pressing AltGr.

So it must be by design as a sort of menu action (I think) - but only 'Alt' key shall have this behavior!

This just mean that it is almost impossible to have an edit field in the popup for many languages as it is impossible to key in many characters.
Flags: needinfo?(benny)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Build ID: 20160810030202

I have tested your issue on latest FF release (v48.0) and latest Nightly build (v51.0a1) and could not reproduce it. I have installed "uNote 0.7.5" add-on, added Danish keyboard and started writing special characters in the add-on while "Alt Gr" key from keyboard was pressed. All characters were written and the door-hanger wasn't closed.

I also tested this on Windows 10 x64 and there were no problems with uNote.

Is this still reproducible on your end ? If yes, can you please retest this using latest FF release and latest Nightly build (https://nightly.mozilla.org/) and report back the results ? When doing this, please use a new clean Firefox profile (https://goo.gl/PNe90E).
Flags: needinfo?(benny)
(Reporter)

Comment 8

2 years ago
I can confirm that it is still a problem with Ubuntu 16.04 64bit. Have tried with uNote 0.7.5 and also tried on another PC with a different profile - all with the same result that AltGr close the popup window.

Have tried on Windows with no problems like this.

Will now try with a clean profile and the nightly build on Ubuntu!
(Reporter)

Comment 9

2 years ago
New profile and Nightly have the same problem - AltGr close uNote popup.

Might be a Ubuntu problem? But it does not happen in Chrome, Chromium etc.
(Reporter)

Comment 10

2 years ago
BTW - Installed nightly like this:

sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa
sudo apt-get update
sudo apt-get install firefox-trunk
(Reporter)

Comment 11

2 years ago
Nightly ver. 51.0a1
(Reporter)

Comment 12

2 years ago
NB: Are running a Danish version of Ubuntu.
Hi Benny, I still cannot reproduce this issue. I will assign a possible related component and maybe someone with more experience regarding this issue could provide some feedback.
Component: Untriaged → Extension Compatibility
Flags: needinfo?(benny)

Comment 14

2 years ago
I have exactly the same problem as Benny with ubuntu 16.04.01 - Alt Gr has a wrong behaviour. to be shure we installed a new vmware-ubuntu 16.04.01 and tested before updating and upgrading. firefox 47.0 had no problems with Alt Gr. After apt-get upgrade there is firefox 48.0 installed with the AltGr-problem described above...
You could use mozregression tool (http://goo.gl/UZBD72) to investigate this issue. If the issue is happening as you say, in mozregression you can set a bad build and a good build (link with Fx release builds equivalent to Nightly builds http://goo.gl/Noi5PL) and discover the source of the issue. Please do a regression range with mozregression and post the pushlog in a comment.

Thank you.
Flags: needinfo?(hp.gerhard)
Flags: needinfo?(benny)

Comment 16

2 years ago
I made this tests with the nightlies (mozregression) and it seems that the problem does not come from firefox but from the latest keyboard-driver of ubuntu 16.04.01. Pressing the AltGr-Key produces keyCode 252 instead of 18...I had the same behaviour even with very old versions of firefox. So finally ubuntu has to correct this issue in the keyboard-driver (i'm using swiss-german-keyboard).
Flags: needinfo?(hp.gerhard)
(Reporter)

Comment 17

2 years ago
But other browsers do not have this behaviour?

Do they handle the keyboard scan codes in a different way?
(Reporter)

Comment 18

2 years ago
Have also seen that pressing AltGr in a web page makes the active input change to the FF search box - but I am unable to reproduce it (but may give a hint)

Comment 19

2 years ago
firefox 48 is definitely not the problem: I reinstalled ubuntu 16.04.01 from scratch and then updated to firefox 48, excluding all other ubuntu-updates. there was no problem with AtlGr at all...then I updated step by step several items from the ubuntu-update-list: After updating some gnome-parts (including gc++5-libraries) and restarting ubuntu there problem occured...

Comment 20

2 years ago
Last analysis :)
Ubuntu sends keyCode 225 on AltGr-Keydown. On all testet browsers except firefox this code has no effect, i.e. is waiting for the second key be pressed by the user. on firefox keyCode 225 triggers the changed-event of an input-element. this has finally various effects depending on the software running in the browser...it's the same with ubuntu 14.04 and older firefox-versions...

it looks like this problem is "exotic" and limited to users as Benny and me with danish, swedish and swiss-keyboards ;-))
(Reporter)

Comment 21

2 years ago
But why does that change-event close the popup etc.
In my code a change event on the input field will not in any way close the popup.
Somewhere another functionality must exist for that key code?
Maybe related to the search field as I have seen the input change to this field after pressing AltGr

Comment 22

2 years ago
the result of pressing AltGr is depending on script-programming within the particular website. if you enter AltGr on google.dk-search-field nothing happens. or in the field below this text ("Need more information from ...") you can enter AltGr + something without problems. As you said in chrome-browser we don't have problems - I've made a debugging-session under netbeans php. the input-field has a trigger on jquery-changed to send the input-text to the server. I entered "abc" and then AltGr (as I would do to enter the "@"-sign). At this keystroke "changed" is triggered and "abc" is sent to the server...

mozilla could change this behaviour for firefox if they wanted...that's for sure, because I don't have any issues with other browsers.
Due to the fact that we cannot reproduce this issue but the reporter can, I will assign another component after the latest feedback. Maybe someone with more experience regarding this issue could provide some feedback for this issue.
Status: UNCONFIRMED → NEW
Component: Extension Compatibility → Shell Integration
Ever confirmed: true
Flags: needinfo?(benny)
(Reporter)

Comment 24

2 years ago
Just for information I am also unable to log-in to doodle.com as the e-mail field loose focus when I press AltGr.

Unable to see where the focus is after as pressing other keys does not have any effect as far as I can see.
(Reporter)

Comment 25

2 years ago
E.g. in the log-in popup/overlay dialog
(Reporter)

Comment 26

2 years ago
Created attachment 8803268 [details]
Doodle.com
(Reporter)

Comment 27

2 years ago
Just upgraded to Ubuntu 16.10 and the problem is still there!
Not a shell integration bug... moving to general
Component: Shell Integration → General
(Reporter)

Comment 29

2 years ago
Hotmail.com also see this bug as when I try to key in the e-mail adr of the receiver it terminates the adr. with only the text before the @ and then makes a new adr with only @ and the domain of the receiver.
After further updates from the reporters, this issue seems to happen also on websites and not only for extensions. Assigning a new component.
Component: General → Event Handling
Product: Firefox → Core
Masayuki probably knows what's going on here.
Flags: needinfo?(masayuki)
I think that it's caused by same reason as bug 1300999. His/her environment does something special when he/she presses AltGr key. However, he/she refused to post log files. So, if nobody except the reporter can reproduce this bug, we have no way to fix this, marking this as WFM or INCOMPLETE?
Flags: needinfo?(masayuki)
(Reporter)

Comment 33

2 years ago
I do not refuse anything. I am not aware of the fact that somebody have asked me to provide log files. I do not know what sort of log files we are talking about and because of this I am unable to proceed?
I have looked at the other bug and it for sure does look like the same error. As I am not the only one that have seen this I think it is wise to find out what is causing this - no problem for me as a individual ;-)

May be the keyboard in combination with Ubuntu as I do not think the environment is in any way special on the 2 PC's where I have tested this. But that will for sure be a very exotic thing if this is the case as I think it is a very standard chip used in all keyboards. 

I will do some testing with different keyboards and PC's
Ah, sorry, I misunderstood, I thought that hp.gerhard is the reporter because there are a lot of comments of him/her.

Could you attach log files to this bug? See bug 1300999 comment 9 for understanding how to get the log.
Flags: needinfo?(benny)
(Reporter)

Comment 35

2 years ago
For some reason it is unable to create the file?

I have tried to chmod my home folder to allow anything with no change!

benny@benny-desktop:~$ firefox
Unable to create nspr log file '~/fx.log'
WARNING: A blocker encountered an error while we were waiting.
          Blocker:  Experiments.jsm shutdown
          Phase: AddonManager: Waiting for providers to shut down.
          State: Error getting state: TypeError: this._experiments is null at Experiments.Experiments.prototype._getActiveExperiment@resource://app/modules/experiments/Experiments.jsm:1144:20
Experiments.Experiments.prototype._getState@resource://app/modules/experiments/Experiments.jsm:477:28
safeGetState@resource://gre/modules/AsyncShutdown.jsm:244:17
Barrier/this.client.addBlocker/promise<@resource://gre/modules/AsyncShutdown.jsm:738:21
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:940:21
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:750:11
Spinner.prototype.observe@resource://gre/modules/AsyncShutdown.jsm:551:9
nsAsyncShutdownClient.prototype.addBlocker/moduleBlocker/<@resource://gre/components/nsAsyncShutdown.js:157:15
Promise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:388:5
nsAsyncShutdownClient.prototype.addBlocker/moduleBlocker@resource://gre/components/nsAsyncShutdown.js:153:29
Barrier/this.client.addBlocker/promise</trigger@resource://gre/modules/AsyncShutdown.jsm:720:23
Barrier.prototype<._wait@resource://gre/modules/AsyncShutdown.jsm:867:7
Barrier.prototype<.wait@resource://gre/modules/AsyncShutdown.jsm:851:28
Spinner.prototype.observe@resource://gre/modules/AsyncShutdown.jsm:534:17

WARNING: Unix error 13 during operation open on file /home/benny/.mozilla/firefox/8ems9t8i.default/experiments.json (Adgang nægtet)
WARNING: 
benny@benny-desktop:~$
(Reporter)

Comment 36

2 years ago
Using 49.0.2
(Reporter)

Comment 37

a year ago
This is still a problem with the latest version!

The isue states that it need info from me but I do not know what to do?
Flags: needinfo?(benny)
Hey, nobody has attached a log file which I requested in comment 34. How can I debug this without it?
(Reporter)

Comment 39

a year ago
I am unable to produce a log file as stated in a prior post?

Shall I try again with the latest version?
(In reply to Benny from comment #39)
> I am unable to produce a log file as stated in a prior post?
> 
> Shall I try again with the latest version?

Not sure but if you use Linux build which is released by Mozilla (not installed into Ubuntu) with your profile, it should work.
Priority: -- → P3
(Reporter)

Comment 41

a year ago
Do you mean that I shall make a build from latest FF sources?
(Reporter)

Comment 42

a year ago
For some reason I got it working now with the current FF version installed in Ubuntu - 54 64bit

I started the browser, pasted about:debugging in the uRL and installed my local copy of the add-on. Then I clinked the add-on icon to show the pop-up and started to key in my e-mail and the pop-up closed when I pressed AltGr

Log added
(Reporter)

Comment 43

a year ago
Created attachment 8903119 [details]
Log from FF popup
@Benny, I think Nakano is referring to the build from Mozilla archive: https://archive.mozilla.org/pub/firefox/releases/55.0.3/ . Download from here the build that is compatible with your Linux and try to reproduce the issue with your profile.
Flags: needinfo?(benny)
(Reporter)

Comment 45

a year ago
Also made a log file with a web site that show the problem - doodle.com

I started the browser, pasted doodle.com in the uRL and clinked login to show the login dialog and started to key in my e-mail and the focus went away from the e-mail edit field when I pressed AltGr

Log added
Flags: needinfo?(benny)
(Reporter)

Comment 46

a year ago
Created attachment 8903124 [details]
fx.log from doodle.com
Attachment #8903119 - Attachment mime type: text/x-log → text/plain
Attachment #8903124 - Attachment mime type: text/x-log → text/plain
(Reporter)

Updated

a year ago
Attachment #8903119 - Attachment description: Log from FF → Log from FF popup
Benny:

Thank you for the log files.

> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000010, aInputEvent.mModifiers=0x0080 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: FALSE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000010 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=ISO_Level3_Shift(0xFE03), state=0x00000010, hardware_keycode=0x0000006C, is_modifier=FALSE } aKeyEvent={ message=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000010, aInputEvent.mModifiers=0x0080 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: FALSE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000010 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=ISO_Level3_Shift(0xFE03), state=0x00000010, hardware_keycode=0x0000006C, is_modifier=FALSE } aKeyEvent={ message=eKeyPress, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000090, aInputEvent.mModifiers=0x0082 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000090 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=at(0x40), state=0x00000090, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000090, aInputEvent.mModifiers=0x0082 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000090 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=at(0x40), state=0x00000090, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyPress, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000090, aInputEvent.mModifiers=0x0082 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000090 aGdkKeyEvent={ type=GDK_KEY_RELEASE, keyval=at(0x40), state=0x00000090, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyUp, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> [Main Thread]: D/KeymapWrapperWidgets 0x7f6532dd3d80 InitInputEvent, aModifierState=0x00000090, aInputEvent.mModifiers=0x0082 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: TRUE, ScrollLock: FALSE)
> [Main Thread]: I/KeymapWrapperWidgets 0x7f6532dd3d80 InitKeyEvent, modifierState=0x00000090 aGdkKeyEvent={ type=GDK_KEY_RELEASE, keyval=ISO_Level3_Shift(0xFE03), state=0x00000090, hardware_keycode=0x0000006C, is_modifier=FALSE } aKeyEvent={ message=eKeyUp, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }

Looks like you pressed AltGr + @. So, this log is really expected result.

I have another question now. What events are fired when you press AltGr + @ in the following testcase?
https://w3c.github.io/uievents/tools/key-event-viewer.html

Load the testcase and set focus to the text field, then, press AltGr + @, then, you'll see event list below the text field. I'd like to know Event type, charCode, keyCode, getModifierState(), shift, ctrl, alt, meta and key value.
Flags: needinfo?(benny)
(Reporter)

Comment 48

a year ago
I think I never pressed @ as the bad behaviour starts by just pressing AltGr (no need to press @)

Testcase works fine. For many sites it work fine in edit fields - it is just some places that it does not work like add-on popup, doodle.com and hotmail etc.

Do not know what is different in these cases!

Results below

6	keyup	0	225	225	AltGraph, NumLock	✗	✗	✗	✗	AltGraph	AltRight	0	✗	✗	-	-	-	'@'
5	keyup	0	502	50	AltGraph, NumLock	✗	✗	✗	✗	@	Digit2	0	✗	✗	-	-	-	'@'
4	input	-	-	-	-	✗	✗	✗	✗	-	-	-	✗	✗	-	-	-	'@'
3	keypress	64 @	0	64	AltGraph, NumLock	✗	✗	✗	✗	@	Digit2	0	✗	✗	-	-	-	''
2	keydown	0	502	50	AltGraph, NumLock	✗	✗	✗	✗	@	Digit2	0	✗	✗	-	-	-	''
1	keydown	0	225	225	NumLock	✗	✗	✗	✗	AltGraph	AltRight	0	✗	✗	-	-	-	''
Flags: needinfo?(benny)
(Reporter)

Comment 49

a year ago
UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0
Thanks. But unfortunately, the fired events are also expected.

> it is just some places that it does not work like add-on popup, doodle.com and hotmail etc.

This bug was filed for handling addon's popup. So, other issues reproduced on specific web apps shouldn't be handled here because with your test result, Gecko dispatches keyboard events as expected. So, the issues on specific web apps should be fixed by the web app developers.

On the other hand, closing popup of addons is explicitly our bug. So, we need to fix it by ourselves.

I have an additional question. Do you reproduce this bug with bookmark panel which is opened when you click star button?
Flags: needinfo?(benny)
(Reporter)

Comment 51

a year ago
> I have an additional question. Do you reproduce this bug with bookmark panel
> which is opened when you click star button?

Do not understand what you mean?
Flags: needinfo?(benny)
(Reporter)

Comment 52

a year ago
Ahh - now I understand!

Yes that dialog also close by pressing AltGr
(Reporter)

Comment 53

a year ago
I can set up teamviewer if needed?
(In reply to Benny from comment #52)
> Yes that dialog also close by pressing AltGr

Thanks!

That means that our XUL panel implementation has a bug.
Component: Event Handling → XP Toolkit/Widgets: XUL
(Reporter)

Comment 55

a year ago
Just think that the problem with doodle, hotmail is related as it follow the same pattern.

E.g. it work fine in chrome and FF on windows and chrome and chromium on Linux
(Reporter)

Comment 56

a year ago
Maybe a hint here: https://bugzilla.mozilla.org/show_bug.cgi?id=1292830#c22
(Reporter)

Comment 57

a year ago
It seam as if pressing AltGr has some sort of global event handler in FF Linux that is only executed under some special conditions - maybe attribute on edit field or dialog open etc.
No, we should not change our KeyboardEvent attribute values since the difference is only legacy keyCode value and/or something not standardized. So, changing it means that other Firefox-aware web apps would be broken if they check UA string. Additionally, we've already supported standardized attributes, KeyboardEvent.key and KeyboardEvent.code. So, web apps should use them instead.
Really odd to me.

I'm trying to reproduce this bug on Ubuntu 17.04. However, I cannot see "@" of Danish keyboard layout with Right-Alt + 2 with enabling fcitx. When I restart my session with ibus, none or xim, I can input "@". So, fcitx has a bug...

However, even without fcitx, I cannot reproduce this bug on my environment.

> Event type  charCode  keyCode  getModifierState()        key      code
> keyup              0      225            AltGraph   AltGraph  AltRight
> keyup              0       50            AltGraph          @    Digit2
> keypress          64        0            AltGraph          @    Digit2
> keydown            0       50            AltGraph          @    Digit2
> keydown            0      225                   -   AltGraph  AltRight

When I press AltGr + 2, I see these events as expected as same as Benny. However, I can type '@' in the bookmark panel and cannot close the panel with pressing AltGr.

And I got native event handler log as:

> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60 OnKeyEvent(aCaller=0x0x7f3bb660e000, aKeyDownEventWasSent=false), mCompositionState=NotComposing, current context=0x0x7f3bb6771e20, active context=0x0x7f3bb6771e20, aEvent(0x0x7f3ba4ff2240): { type=GDK_KEY_PRESS, keyval=ISO_Level3_Shift, unicode=0x0 }
> D/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60   OnKeyEvent(), succeeded, filterThisEvent=false (isFiltered=false, mFilterKeyEvent=true), mCompositionState=NotComposing
> D/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitInputEvent, aModifierState=0x00000000, aInputEvent.mModifiers=0x0000 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: FALSE, CapsLock: FALSE, NumLock: FALSE, ScrollLock: FALSE)
> I/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitKeyEvent, modifierState=0x00000000 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=ISO_Level3_Shift(0xFE03), state=0x00000000, hardware_keycode=0x0000006C, is_modifier=FALSE } aKeyEvent={ message=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> D/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitInputEvent, aModifierState=0x00000000, aInputEvent.mModifiers=0x0000 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: FALSE, CapsLock: FALSE, NumLock: FALSE, ScrollLock: FALSE)
> I/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitKeyEvent, modifierState=0x00000000 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=ISO_Level3_Shift(0xFE03), state=0x00000000, hardware_keycode=0x0000006C, is_modifier=FALSE } aKeyEvent={ message=eKeyPress, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60 OnKeyEvent(aCaller=0x0x7f3bb660e000, aKeyDownEventWasSent=false), mCompositionState=NotComposing, current context=0x0x7f3bb6771e20, active context=0x0x7f3bb6771e20, aEvent(0x0x7f3ba4ff2a60): { type=GDK_KEY_PRESS, keyval=at, unicode=0x40 }
> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60 OnCommitCompositionNative(aContext=0x0x7f3bb6771e20), current context=0x0x7f3bb6771e20, active context=0x0x7f3bb6771e20, commitString="@", mProcessingKeyEvent=0x0x7f3ba4ff2a60, IsComposingOn(aContext)=false
> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60   OnCommitCompositionNative(), we'll send normal key event
> D/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60   OnKeyEvent(), succeeded, filterThisEvent=false (isFiltered=true, mFilterKeyEvent=false), mCompositionState=NotComposing
> D/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitInputEvent, aModifierState=0x00000080, aInputEvent.mModifiers=0x0002 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: FALSE, ScrollLock: FALSE)
> I/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitKeyEvent, modifierState=0x00000080 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=at(0x40), state=0x00000080, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyDown, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> D/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitInputEvent, aModifierState=0x00000080, aInputEvent.mModifiers=0x0002 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: FALSE, ScrollLock: FALSE)
> I/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitKeyEvent, modifierState=0x00000080 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=at(0x40), state=0x00000080, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyPress, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60 OnKeyEvent(aCaller=0x0x7f3bb660e000, aKeyDownEventWasSent=false), mCompositionState=NotComposing, current context=0x0x7f3bb6771e20, active context=0x0x7f3bb6771e20, aEvent(0x0x7f3ba8279560): { type=GDK_KEY_RELEASE, keyval=at, unicode=0x40 }
> D/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60   OnKeyEvent(), succeeded, filterThisEvent=false (isFiltered=false, mFilterKeyEvent=true), mCompositionState=NotComposing
> D/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitInputEvent, aModifierState=0x00000080, aInputEvent.mModifiers=0x0002 (Shift: FALSE, Control: FALSE, Alt: FALSE, Meta: FALSE, OS: FALSE, AltGr: TRUE, CapsLock: FALSE, NumLock: FALSE, ScrollLock: FALSE)
> I/KeymapWrapperWidgets 0x7f3b9fbfdc80 InitKeyEvent, modifierState=0x00000080 aGdkKeyEvent={ type=GDK_KEY_RELEASE, keyval=at(0x40), state=0x00000080, hardware_keycode=0x0000000B, is_modifier=FALSE } aKeyEvent={ message=eKeyUp, isShift=FALSE, isControl=FALSE, isAlt=FALSE, isMeta=FALSE }
> I/nsGtkIMModuleWidgets 0x0x7f3bbf4dda60 OnKeyEvent(aCaller=0x0x7f3bb660e000, aKeyDownEventWasSent=false), mCompositionState=NotComposing, current context=0x0x7f3bb6771e20, active context=0x0x7f3bb6771e20, aEvent(0x0x7f3ba4ff2a60): { type=GDK_KEY_RELEASE, keyval=ISO_Level3_Shift, unicode=0x0 }

So, this is also expected result and almost same as Benny's log. I don't understand why the behavior is different from Benny's environment.
I also cannot reproduce this on Ubuntu 16.04 LTS. Really similar to bug 1300999 about not reproducible except reporter's environment.
(In reply to Benny from comment #45)
> Also made a log file with a web site that show the problem - doodle.com
> 
> I started the browser, pasted doodle.com in the uRL and clinked login to
> show the login dialog and started to key in my e-mail and the focus went
> away from the e-mail edit field when I pressed AltGr
> 
> Log added

And also I cannot reproduce it on doodle.com's login dialog.

However, according to comment 48, odd events are not fired in the testcase even in the Benny's environment.

So, resetting this bug as Core/Event Handling, we might do something unexpected on specific environments.

Benny, when focus is going away from the login dialog or closing popup of addon or bookmark panel with pressing AltGr, does another application gets focus or is the window of Firefox inactivated temporarily? I'm suspecting that there may be some system-wide utils which do something when you press AltGr in specific conditions.
Status: NEW → UNCONFIRMED
Component: XP Toolkit/Widgets: XUL → Event Handling
Ever confirmed: false
Flags: needinfo?(benny)
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1292796
In this bug of Ubnutu's bugilla, some users reported "Canonical Firefox Ubuntu modifications addon" is the cause.

How about you, Benny?
(Reporter)

Comment 63

a year ago
Right now I do not have access to my Ubuntu systems.

As far as I remember the focus is unknown when I press AltGr. E.g. if I start typing after AltGr I am unable to see the text anywhere so it looks as if FF is inactive somehow and I have to use short-cuts or click a window to continue. But FF is still the active window!

https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1292796
looks like something similar and I will test it tonight.
Flags: needinfo?(benny)
(Reporter)

Comment 64

a year ago
Based on comment in different threads it looks as if this type of error affects Scandinavian, Polish and Switz users ;-)
> I have to use short-cuts or click a window to continue

Did you mean that the short-cut is Alt+Tab or something which changes active window in system level? Or any shortcut key of Firefox? E.g., if Ctrl+K (moving focus to search bar) is available, it means that the Firefox window is active but focused element is hidden (bug 1369072).
(Reporter)

Comment 66

a year ago
After AltGr a press on Ctrl+K change focus to the search bar so FF window is still active. 
Doodle just release a new beta where the login process works ;-)
(Reporter)

Comment 67

a year ago
Disabling Ubuntu Modifications in Add-ons and restart of browser does not change behaviour. So it looks as if XUL panel implementation has a bug?
(In reply to Benny from comment #66)
> After AltGr a press on Ctrl+K change focus to the search bar so FF window is
> still active.

Hmm.

(In reply to Benny from comment #67)
> Disabling Ubuntu Modifications in Add-ons and restart of browser does not
> change behaviour. So it looks as if XUL panel implementation has a bug?

Hmm, okay thanks. However, I don't see any keyboard event handler which closes with |else| case (i.e., closing it with specific keys).
(Reporter)

Comment 69

a year ago
I know this is strange as it seam impossible to reproduce for the developers etc.
But different people have reported this over the years and have made clean installations to reproduce it.
I have the problem on different systems and some of the systems are very basic/clean.
Today, I investigated bug 1369072. However, it's perhaps not related to this bug because it's just a problem of treating hidden document/window and a problem of handling scroll related keys. Unfortunately, this bug occurs without those conditions.

As far as I know, XUL panel is closed when:

1. ESC key is pressed. Its keyCode is 27, its key value is "Escape".
2. Menu bar becomes active, e.g., pressing Alt key, clicking menu bar.
3. Click outside of the panel.
4. Parent window loses focus, e.g., another window becomes active (even if it's temporarily.

Perhaps, #1 shouldn't occur with AltGr key press. On the other hand, #2 could be? E.g., handling AltGr as Alt accidentally? #3 shouldn't occur unless you touch touchpad at pressing AltGr. #4 might occur if another application launches or does something only when AltGr is pressed.

Anyway, I'm currently thinking that creating custom build which can correct some more information during closing a panel.
Benny, I'm really sorry for the delay of working on this bug for a month because of pretty busy of my life.

Now, I got a way to get stack trace on your environment with test build. Could you reproduce this bug with following steps and attach a text file to this bug?

1. Download test build:
  x86: https://queue.taskcluster.net/v1/task/Yvus9_-YRFGT_85AN5mr5g/runs/0/artifacts/public/build/target.tar.bz2
  x64: https://queue.taskcluster.net/v1/task/AxDFF-lQQUKnj_mHSbsCiQ/runs/0/artifacts/public/build/target.tar.bz2
2. Unzip the archive.
3. Open the Terminal and move to the unzipped directory which includes "firefox".
4. Type |./firefox > stacktrace.txt| or just |./firefox|.
5. Open bookmark panel.
6. Type AltGr to close the bookmark panel.
7. Exit firefox with Ctrl+Q.
8. Attach the stacktrace.txt or create a text file with the stack trace printed in the Terminal to this bug.
Flags: needinfo?(benny)
Please make sure that all Firefox instances are already closed before running the test build.
(Reporter)

Comment 73

a year ago
When using the mouse to activate bookmarks I get the output below in the terminal as a pipe down into a file generate an empty file (permissions or other problem):

benny@benny-desktop:~/Hentede filer/firefox$ ./firefox
#01: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df5d5f]
#02: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df60df]
#03: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df6489]
#04: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29acaa1]
#05: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29b00c7]
#06: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29b05aa]
#07: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ff2c]
#08: g_closure_invoke[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0xfc25]
#09: ???[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x21c32]
#10: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2a32f]
#11: g_signal_emit[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2ac6f]
#12: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x37d24c]
#13: gtk_widget_send_focus_change[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x38ea25]
#14: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3924b0]
#15: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3a1fca]
#16: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3a219b]
#17: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ff2c]
#18: g_closure_invoke[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0xfc25]
#19: ???[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2202d]
#20: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2a32f]
#21: g_signal_emit[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2ac6f]
#22: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x37d24c]
#23: gtk_main_do_event[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ef54]
#24: ???[/usr/lib/x86_64-linux-gnu/libgdk-3.so.0 +0x3bc75]
#25: ???[/usr/lib/x86_64-linux-gnu/libgdk-3.so.0 +0x6cd02]
#26: g_main_context_dispatch[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a377]
#27: ???[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a5e0]
#28: g_main_context_iteration[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a68c]
#29: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29c715f]
#30: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2994c4c]
#31: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2994e00]
#32: ???[/home/benny/Hentede filer/firefox/libxul.so +0xa52e91]
#33: ???[/home/benny/Hentede filer/firefox/libxul.so +0xa5482b]
#34: ???[/home/benny/Hentede filer/firefox/libxul.so +0xe6b861]
#35: ???[/home/benny/Hentede filer/firefox/libxul.so +0xe40902]
#36: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29901b9]
#37: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3b76166]
#38: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0acc9]
#39: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0bcdb]
#40: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0c104]
#41: ???[./firefox +0x73c9]
#42: ???[./firefox +0x6b9b]
#43: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x203f1]
#44: ???[./firefox +0x6e75]
[Parent 5181, Gecko_IOThread] WARNING: pipe error: Kanalen blev brudt: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 709
benny@benny-desktop:~/Hentede filer/firefox$
Flags: needinfo?(benny)
(Reporter)

Comment 74

a year ago
Second run:

benny@benny-desktop:~/Hentede filer/firefox$ ./firefox
#01: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df5d5f]
#02: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df60df]
#03: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2df6489]
#04: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29acaa1]
#05: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29b00c7]
#06: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29b05aa]
#07: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ff2c]
#08: g_closure_invoke[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0xfc25]
#09: ???[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x21c32]
#10: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2a32f]
#11: g_signal_emit[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2ac6f]
#12: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x37d24c]
#13: gtk_widget_send_focus_change[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x38ea25]
#14: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3924b0]
#15: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3a1fca]
#16: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x3a219b]
#17: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ff2c]
#18: g_closure_invoke[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0xfc25]
#19: ???[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2202d]
#20: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2a32f]
#21: g_signal_emit[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 +0x2ac6f]
#22: ???[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x37d24c]
#23: gtk_main_do_event[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0 +0x22ef54]
#24: ???[/usr/lib/x86_64-linux-gnu/libgdk-3.so.0 +0x3bc75]
#25: ???[/usr/lib/x86_64-linux-gnu/libgdk-3.so.0 +0x6cd02]
#26: g_main_context_dispatch[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a377]
#27: ???[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a5e0]
#28: g_main_context_iteration[/lib/x86_64-linux-gnu/libglib-2.0.so.0 +0x4a68c]
#29: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29c715f]
#30: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2994c4c]
#31: ???[/home/benny/Hentede filer/firefox/libxul.so +0x2994e00]
#32: ???[/home/benny/Hentede filer/firefox/libxul.so +0xa52e91]
#33: ???[/home/benny/Hentede filer/firefox/libxul.so +0xa5482b]
#34: ???[/home/benny/Hentede filer/firefox/libxul.so +0xe6b861]
#35: ???[/home/benny/Hentede filer/firefox/libxul.so +0xe40902]
#36: ???[/home/benny/Hentede filer/firefox/libxul.so +0x29901b9]
#37: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3b76166]
#38: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0acc9]
#39: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0bcdb]
#40: ???[/home/benny/Hentede filer/firefox/libxul.so +0x3c0c104]
#41: ???[./firefox +0x73c9]
#42: ???[./firefox +0x6b9b]
#43: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x203f1]
#44: ???[./firefox +0x6e75]
benny@benny-desktop:~/Hentede filer/firefox$
(Reporter)

Comment 75

a year ago
BTW: Need to delete my profile now as the layout of version 56 is strange after running the test version ;-)
Thank you for the feedback and really sorry for breaking your profile.

I got this stack:

> #01: nsXULPopupManager::FirePopupHidingEvent(nsIContent*, nsIContent*, nsIContent*, nsPresContext*, nsPopupType, bool, bool) (/libxul.so)
> #02: nsXULPopupManager::HidePopup(nsIContent*, bool, bool, bool, bool, nsIContent*) (/libxul.so)
> #03: nsXULPopupManager::Rollup(unsigned int, bool, mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> const*, nsIContent**) (/libxul.so)
> #04: nsWindow::CheckForRollup(double, double, bool, bool) (/libxul.so)
> #05: nsWindow::OnContainerFocusOutEvent(_GdkEventFocus*) (/libxul.so)
> #06: focus_out_event_cb(_GtkWidget*, _GdkEventFocus*) (/libxul.so)
> #07: gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #08: g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #09: g_signal_handler_disconnect (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #10: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #11: g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #12: gtk_requisition_copy (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #13: gtk_widget_send_focus_change[/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
> #14: gtk_widget_path_has_parent (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #15: gtk_window_activate_key (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #16: gtk_window_set_mnemonics_visible (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #17: gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #18: g_closure_invoke (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #19: g_signal_handler_disconnect (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #20: g_signal_emit_valist[/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #21: g_signal_emit (/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0)
> #22: gtk_requisition_copy (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #23: gtk_main_do_event (/usr/lib/x86_64-linux-gnu/libgtk-3.so.0)
> #24: gdk_event_free (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0)
> #25: gdk_x11_drag_context_get_type (/usr/lib/x86_64-linux-gnu/libgdk-3.so.0)
> #26: g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0)
> #27: g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0)
> #28: g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0)
> #29: nsAppShell::ProcessNextNativeEvent(bool) (/libxul.so)
> #30: nsBaseAppShell::DoProcessNextNativeEvent(bool) (/libxul.so)
> #31: nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (/libxul.so)
> #32: nsThread::ProcessNextEvent(bool, bool*) [clone .part.238] (/libxul.so)
> #33: NS_ProcessNextEvent(nsIThread*, bool) (/libxul.so)
> #34: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (/libxul.so)
> #35: MessageLoop::Run() (/libxul.so)
> #36: nsBaseAppShell::Run() (/libxul.so)
> #37: nsAppStartup::Run() (/libxul.so)
> #38: XREMain::XRE_mainRun() (/libxul.so)
> #39: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (/libxul.so)
> #40: XRE_main(int, char**, mozilla::BootstrapConfig const&) (/libxul.so)

Fortunately, I got similar stack on my Ubuntu box too. According to the brief debugging, when user press RightAlt key, Unity sends a set of blur event and focus event of navigator window *before* AltGraph KEY_PRESS event.

> OnContainerFocusOutEvent: type=GDK_FOCUS_CHANGE, window=0x7f0537628ec0, send_event=FALSE, in=FALSE
> OnContainerFocusInEvent: type=GDK_FOCUS_CHANGE, window=0x7f0537628ec0, send_event=FALSE, in=TRUE
> KeymapWrapperWidgets 0x7f0515bc9f00 InitKeyEvent, modifierState=0x00000080 aGdkKeyEvent={ type=GDK_KEY_PRESS, keyval=Alt_R(0xFFEA), state=0x00000000, hardware_keycode=0x0000006C, is_modifier=TRUE } aKeyEvent={ mMessage=eKeyDown, mKeyNameIndex=Alt, mKeyValue="", mCodeNameIndex=AltRight, mKeyCode=VK_ALT, mLocation=KEY_LOCATION_RIGHT, mModifiers=AltGraph }

# Oddly, I got Alt_R key event for GDK_KEY_PRESS but ISO_Level_3 for GDK_KEY_RELEASE :-(

The odd focus change events are the cause of closing XUL <panel> due to autohide. So, we need to ignore this odd native events, however, receiving blur and focus events before receiving AltGraph key press event is too bad since we cannot distinguish if the events are caused by pressing AltGraph key.
Status: UNCONFIRMED → NEW
Component: Event Handling → Widget: Gtk
Ever confirmed: true
Summary: AltGr close webextensions popup → [Unity] Pressing AltGr closes autohide XUL <panel>
(Reporter)

Comment 77

a year ago
Great from my point of view that we now have a confirmed bug !!

Will the new shift to the Gnome shell in 17.10 make the problem disappear as it looks as if it is a Unity problem?
Hmm, unfortunately, next event of X in the queue is not FocusIn. I have no idea how to ignore the odd blur event (and following focus event) here.
(In reply to Benny from comment #77)
> Will the new shift to the Gnome shell in 17.10 make the problem disappear as
> it looks as if it is a Unity problem?

Not sure. Although, I cannot reproduce this bug with GNOME Flashback (Metacity) of Ubuntu 17.04.
I upgraded my Ubuntu environment to 17.10. Then, I still see "Unity" in login screen like this:

* GNOME Flashback (Compiz)
* GNOME Flashback (Metacity)
* Ubuntu
* Ubuntu on Xorg
* Unity (Default)

However, I cannot login with "Unity (Default)". I see only black screen. Therefore, I've not tested this bug with Unity yet.

On the other hand, I cannot reproduce this bug with "GNOME Flashback (Metacity)", "Ubuntu" nor "Ubuntu on Xorg".

How about you, Benny?
Flags: needinfo?(benny)
(Reporter)

Comment 81

a year ago
I do not see the bug with Gnome in 17.10

Will test with Unity later this weekend
Flags: needinfo?(benny)
You need to log in before you can comment on or make changes to this bug.