Closed Bug 199737 Opened 22 years ago Closed 21 years ago

in Mailnews, context menu can't be activated with the keyboard (Windows key on the left of the CTRL key) or shift-f10

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla1.4final

People

(Reporter: pascalc, Assigned: bryner)

References

Details

(Keywords: access, platform-parity, regression)

Attachments

(1 file)

Build ID 2003032808 WinXP 1 open Mailnews 2 select an item in the folder tree for instance 3 hit the context menu key on your keyboard expected result : a popup menu actual result : nothing It works in the browser part. This is a regression since NS7.02 does not have the bug.
Still seeing it with 2003042208 I think this should be fixed for 1.4 since this release is supposed to be used as the basis for the next Nerscape release. This regression breaks section 508 compliance, adding keyword.
Flags: blocking1.4b?
Keywords: sec508
aaron, do you know anything about this? I see it works in browser, so we should be able to get it to work in the message pane (which is a browser) but it appears broken for trees in general. It doesn't work in history / bookmarks trees, either.
Flags: blocking1.4b?
Flags: blocking1.4b-
Flags: blocking1.4?
Bug 107591 was the bug to get it working in bookmarks. Both Shift+F10 and the context menu key are supposed to work in outliner. I find that both work in manage bookmarks.
When testing it in manage bookmarks, it may appear not to work because the menu will appear under the mouse cursor is, which can be offscreen. It should appear where the selected item is. That's a different bug.
we should try to get this for 1.4. It doesn't affect linux but I can confirm the problem on windowsXP with a recent nightly.
Flags: blocking1.4? → blocking1.4+
over to shuehan. blocks 1.4 (according to asa) so adding nsbeta1 watch out for this issue #175568 we should make sure that this key works for thread pane, folder pane, and message pane.
Assignee: sspitzer → shliang
Keywords: nsbeta1
Target Milestone: --- → mozilla1.4final
Summary: in Mailnews, context menu can't be activated with the keyboard (Windows key on the left of the CTRL key) → in Mailnews, context menu can't be activated with the keyboard (Windows key on the left of the CTRL key) or shift-f10
stack to right click XULPopupListenerImpl::LaunchPopup(int 205, int 68) line 491 XULPopupListenerImpl::LaunchPopup(nsIDOMEvent * 0x0463d360) line 405 + 19 bytes XULPopupListenerImpl::PreLaunchPopup(nsIDOMEvent * 0x0463d360) line 293 XULPopupListenerImpl::ContextMenu(XULPopupListenerImpl * const 0x02f12560, nsIDOMEvent * 0x0463d360) line 197 + 15 bytes nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x02f125c0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, nsIDOMEventTarget * 0x04229bc8, unsigned int 2, nsEventStatus * 0x0012f398) line 1480 + 41 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x02f124e0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 3302 nsXULElement::HandleChromeEvent(nsXULElement * const 0x02f124ec, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 4446 + 39 bytes GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x03986b88, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 841 nsDocument::HandleDOMEvent(nsDocument * const 0x04680190, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 3626 nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x0468ddd0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 1961 + 47 bytes nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x03791ec0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 1954 + 60 bytes nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x046c3aa8, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 1954 + 60 bytes nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x046c4048, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 2, nsEventStatus * 0x0012f398) line 1954 + 60 bytes nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x046c4600, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x0012ee44, unsigned int 7, nsEventStatus * 0x0012f398) line 1954 + 60 bytes nsGenericHTMLElement::HandleDOMEventForAnchors(nsIContent * 0x046c4600, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x00000000, unsigned int 1, nsEventStatus * 0x0012f398) line 1431 + 32 bytes nsHTMLAnchorElement::HandleDOMEvent(nsHTMLAnchorElement * const 0x046c4600, nsIPresContext * 0x0468e838, nsEvent * 0x0012f5a8, nsIDOMEvent * * 0x00000000, unsigned int 1, nsEventStatus * 0x0012f398) line 355 PresShell::HandleEventInternal(nsEvent * 0x0012f5a8, nsIView * 0x046c1cb8, unsigned int 1, nsEventStatus * 0x0012f398) line 6380 + 47 bytes PresShell::HandleEvent(PresShell * const 0x04695944, nsIView * 0x046c1cb8, nsGUIEvent * 0x0012f5a8, nsEventStatus * 0x0012f398, int 0, int & 1) line 6297 + 25 bytes nsViewManager::HandleEvent(nsView * 0x046c19c8, nsGUIEvent * 0x0012f5a8, int 0) line 2292 nsView::HandleEvent(nsViewManager * 0x0468f030, nsGUIEvent * 0x0012f5a8, int 0) line 308 nsViewManager::DispatchEvent(nsViewManager * const 0x0468f030, nsGUIEvent * 0x0012f5a8, nsEventStatus * 0x0012f4a8) line 2022 + 23 bytes HandleEvent(nsGUIEvent * 0x0012f5a8) line 82 nsWindow::DispatchEvent(nsWindow * const 0x046c1a94, nsGUIEvent * 0x0012f5a8, nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f5a8) line 1075 nsWindow::DispatchMouseEvent(unsigned int 500, unsigned int 7669382, nsPoint * 0x00000000) line 5196 + 21 bytes ChildWindow::DispatchMouseEvent(unsigned int 500, unsigned int 7669382, nsPoint * 0x00000000) line 5453 nsWindow::ProcessMessage(unsigned int 123, unsigned int 7669382, long 39387742, long * 0x0012fa50) line 4004 + 30 bytes nsWindow::WindowProc(HWND__ * 0x00750686, unsigned int 123, unsigned int 7669382, long 39387742) line 1348 + 27 bytes USER32! 77e3a244() USER32! 77e14730() USER32! 77e1558a() NTDLL! 77f91a7f() USER32! 77e15392() USER32! 77e1dd30() USER32! 77e3a244() USER32! 77e16b21() USER32! 77e24f4a() nsWindow::WindowProc(HWND__ * 0x00750686, unsigned int 517, unsigned int 0, long 4456653) line 1355 + 31 bytes USER32! 77e3a244() USER32! 77e145e5() USER32! 77e1a792() nsAppShellService::Run(nsAppShellService * const 0x01552ee0) line 479 main1(int 2, char * * 0x00271ae0, nsISupports * 0x00f0e170) line 1268 + 32 bytes main(int 2, char * * 0x00271ae0) line 1647 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77ea847c()
stack to the key press XULPopupListenerImpl::LaunchPopup(int 4440, int 960) line 491 XULPopupListenerImpl::LaunchPopup(nsIDOMEvent * 0x03926a08) line 405 + 19 bytes XULPopupListenerImpl::PreLaunchPopup(nsIDOMEvent * 0x03926a08) line 293 XULPopupListenerImpl::ContextMenu(XULPopupListenerImpl * const 0x02f12560, nsIDOMEvent * 0x03926a08) line 197 + 15 bytes nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x02f125c0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, nsIDOMEventTarget * 0x03926aa8, unsigned int 2, nsEventStatus * 0x0012f548) line 1480 + 41 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x02f124e0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, unsigned int 2, nsEventStatus * 0x0012f548) line 3302 nsXULElement::HandleChromeEvent(nsXULElement * const 0x02f124ec, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, unsigned int 2, nsEventStatus * 0x0012f548) line 4446 + 39 bytes GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x03986b88, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, unsigned int 2, nsEventStatus * 0x0012f548) line 841 nsDocument::HandleDOMEvent(nsDocument * const 0x04680190, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, unsigned int 2, nsEventStatus * 0x0012f548) line 3626 nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x0468ddd0, nsIPresContext * 0x0468e838, nsEvent * 0x0012f78c, nsIDOMEvent * * 0x0012f358, unsigned int 7, nsEventStatus * 0x0012f548) line 1961 + 47 bytes PresShell::HandleEventInternal(nsEvent * 0x0012f78c, nsIView * 0x0468f260, unsigned int 1, nsEventStatus * 0x0012f548) line 6380 + 47 bytes PresShell::HandleEvent(PresShell * const 0x04695944, nsIView * 0x0468f260, nsGUIEvent * 0x0012f78c, nsEventStatus * 0x0012f548, int 1, int & 1) line 6297 + 25 bytes nsViewManager::HandleEvent(nsView * 0x0468f260, nsGUIEvent * 0x0012f78c, int 0) line 2246 nsView::HandleEvent(nsViewManager * 0x0468f030, nsGUIEvent * 0x0012f78c, int 0) line 308 nsViewManager::DispatchEvent(nsViewManager * const 0x0468f030, nsGUIEvent * 0x0012f78c, nsEventStatus * 0x0012f68c) line 2022 + 23 bytes HandleEvent(nsGUIEvent * 0x0012f78c) line 82 nsWindow::DispatchEvent(nsWindow * const 0x0468f30c, nsGUIEvent * 0x0012f78c, nsEventStatus & nsEventStatus_eIgnore) line 1054 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f78c) line 1075 nsWindow::DispatchMouseEvent(unsigned int 501, unsigned int 6555128, nsPoint * 0x00000000) line 5196 + 21 bytes ChildWindow::DispatchMouseEvent(unsigned int 501, unsigned int 6555128, nsPoint * 0x00000000) line 5453 nsWindow::ProcessMessage(unsigned int 123, unsigned int 6555128, long -1, long * 0x0012fc34) line 4004 + 30 bytes nsWindow::WindowProc(HWND__ * 0x006405f8, unsigned int 123, unsigned int 6555128, long -1) line 1348 + 27 bytes USER32! 77e3a244() USER32! 77e145e5() USER32! 77e1a792() nsAppShellService::Run(nsAppShellService * const 0x01552ee0) line 479 main1(int 2, char * * 0x00271ae0, nsISupports * 0x00f0e170) line 1268 + 32 bytes main(int 2, char * * 0x00271ae0) line 1647 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77ea847c()
Attached patch patch (deleted) — Splinter Review
shuehan and I came up with this fix... the win32 widget code had been initializing the point of the contextmenu event incorrectly, I think (the XP code assumed it would be initialized to 0,0).
Comment on attachment 123066 [details] [diff] [review] patch r=shuehan thanks!
Attachment #123066 - Flags: review+
Comment on attachment 123066 [details] [diff] [review] patch thanks bryner! sr/a=sspitzer for 1.4 final. who should review? does this also fix the shift+f10 case? (is aEventType == NS_CONTEXTMENU_KEY for that scenario?)
Attachment #123066 - Flags: superreview+
Attachment #123066 - Flags: approval1.4+
might be a problem on OS/2 as well (just a gut feeling, since I remember seeing some code, relating to this, that was XP_WIN || XP_OS2, where we'd try to set focus to the target element or something)
Assignee: shliang → bryner
NS_CONTEXTMENU_KEY is for both, so the context menu key or shift + f10 will now bring up the context menu in the top left
checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
*** Bug 202079 has been marked as a duplicate of this bug. ***
per bug 202079, this is also a problem in editor. ->keybd nav and reopening since it's still an issue (as discussed with brian).
Status: RESOLVED → REOPENED
Component: Mail Window Front End → Keyboard: Navigation
Keywords: pp
Product: MailNews → Browser
QA Contact: esther → sairuh
Resolution: FIXED → ---
I must have applied this patch by hand at some point and didn't remove the existing InitEvent() line when doing so, so the event is still initialized with the bogus point for a context menu event. Since this patch as it is here is correct and has already gotten r/sr/a, I'll go ahead and check in the fix.
fix checked in.
Status: REOPENED → RESOLVED
Closed: 21 years ago21 years ago
Resolution: --- → FIXED
vrfy'd fixed with 2003.05.23.09 comm build on win2k.
Status: RESOLVED → VERIFIED
Component: Keyboard: Navigation → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: