First right-click on textarea shows huge contextmenu

RESOLVED FIXED in seamonkey2.37

Status

defect
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: svl-bmo, Assigned: philip.chee)

Tracking

Trunk
seamonkey2.37
x86
Linux
Dependency tree / graph

SeaMonkey Tracking Flags

(seamonkey2.35 fixed, seamonkey2.36 fixed, seamonkey2.37 fixed)

Details

User Story

http://hg.mozilla.org/releases/comm-release/rev/ad744e46a2fc SeaMonkey 2.35 (SEAMONKEY_2_35_RELEASE_BRANCH)
http://hg.mozilla.org/releases/comm-release/rev/7937c522252e SeaMonkey 2.36
http://hg.mozilla.org/comm-central/rev/48ff8b2ce3bf          SeaMonkey 2.37

Attachments

(1 attachment)

Seen on 2.32 release and 201150117 trunk on Linux.

Steps to reproduce: 
1) Start browser with clean profile.
2) Visit a page with a textarea (for example https://fronteers.nl/blog/2015/01/css-resets )
3) right-click in the textarea

You now get a huge contextmenu (with entries for <audio>/<video>/img, etc), and the following errors in the error console:
Error: TypeError: spellchecker is null
Source File: resource://gre/modules/InlineSpellChecker.jsm
Line: 220

Error: TypeError: gContextMenu is null
Source File: chrome://navigator/content/mailNavigatorOverlay.js
Line: 146

Error: TypeError: gContextMenu is null
Source File: chrome://editor/content/editorApplicationOverlay.js
Line: 10

And after a further click somewhere else:
Error: TypeError: gContextMenu is null
Source File: chrome://navigator/content/navigator.xul
Line: 1

All further interactions with textareas in the same session show the correct contextmenu.
That's of course 20150117 trunk (today's build).
(In reply to Sander from comment #0)
> Seen on 2.32 release and 201150117 trunk on Linux.

> Error: TypeError: spellchecker is null
> Source File: resource://gre/modules/InlineSpellChecker.jsm
> Line: 220

How many dictionaries do you have installed? And what languages are they?
This appears to correspond to Firefox Bug 1005601 - "gContextMenu is null" thrown for first textarea context menu in a window
See Also: → 1005601
I can't reproduce the problem on Windows. Can someone test this patch on Linux? Sander?
Attachment #8554665 - Flags: feedback?(svl-bmo)
(In reply to Philip Chee from comment #2)
> How many dictionaries do you have installed? And what languages are they?

I'm 99% certain I verified this with a completely clean profile, so 1 (en-US). In the 1% case the NL dictionary - https://addons.mozilla.org/en-US/seamonkey/addon/woordenboek-nederlands/ - would also have been installed.

I'll verify later, but that (along with testing the patch) probably won't be before Saturday at the earliest.
> I'll verify later, but that (along with testing the patch) probably won't be
> before Saturday at the earliest.
Ping Sander
Flags: needinfo?(svl-bmo)
Huh. Guess I'm really out of the loop these days. Saw that the patch was in a .js file, so thought I could just find the relevant .jar file like in the days of yore, edit the file in place, and test... But apparently that's no longer the case. Wish I'd realized that immediately instead of uselessly letting you wait for feedback from me. :( (And really don't have time to track down current-day build instructions.)
I did confirm that I'm seeing this on a completely clean profile, with only the default en-US dictionary installed.
Flags: needinfo?(svl-bmo)
Attachment #8554665 - Flags: feedback?(svl-bmo)
Comment on attachment 8554665 [details] [diff] [review]
Patch v1.0 Possible fix.

*reads up om omni.ja and realized he _can_ still unzip, edit, re-zip and test*

So, no, unfortunately this patch does not fix the problem. Still getting the same errors in my console.
Attachment #8554665 - Flags: feedback-
SeaMonkey 2.35a1 for Linux64: I don't see this bug, but I did see huge context menus similar to those described in comment #0 until I disabled French and English synonyms dictionaries. Not only in textareas, and some menuitems (among which "Right-click link → Open in new tab") became totally nonfunctional: to open a link in a new tab I had to "Copy link location" then Ctrl+T (Open new tab) and paste the URL. Then I disabled those synonyms dictionaries and the problem went away.
P.S. My spelling options are set to "never check spelling".
I can confirm on two Linux x86_64 machines running 2.32.1 with KDE4, one with a fairly fresh profile, the other one with a frequently used and migrated production profile. The following messages are logged when right-clicking on the textarea in the given web page and holding the mouse button:

> Error: TypeError: spellchecker is null
> Source File: resource://gre/modules/InlineSpellChecker.jsm
> Line: 220
> 
> Error: TypeError: gContextMenu is null
> Source File: chrome://navigator/content/mailNavigatorOverlay.js
> Line: 146
> 
> Error: TypeError: gContextMenu is null
> Source File: chrome://editor/content/editorApplicationOverlay.js
> Line: 10

and I see this immediately after releasing the mouse (i.e., closing the context menu):

> Error: TypeError: gContextMenu is null
> Source File: chrome://navigator/content/navigator.xul
> Line: 1

After that, the menu is behaving ok. It also behaved ok for me when right-clicking first time after opening the web page for the first time, however with SeaMonkey itself already having been running for a while.

No additional dictionaries or language-related add-ons are installed.
Comment on attachment 8554665 [details] [diff] [review]
Patch v1.0 Possible fix.

(In reply to Sander from comment #8)
> *reads up om omni.ja and realized he _can_ still unzip, edit, re-zip and test*
> 
> So, no, unfortunately this patch does not fix the problem. Still getting the
> same errors in my console.

I've applied the patch to a reasonably current 2.35 Linux trunk build and it indeed fixes the problem for me. Also, the four errors logged are gone now.

Sander, if you repack omni.ja manually you'll have to clear the XUL cache before JavaScript changes become visible. The easiest way to do this is to start SeaMonkey once in safe mode or to run it with the -purgecaches option from the command line.
Attachment #8554665 - Flags: feedback+
Comment on attachment 8554665 [details] [diff] [review]
Patch v1.0 Possible fix.

Ah! After running -purgecaches, the huge contextmenu is indeed gone with this patch applied. The "languages" submenu doesn't show any languages on that first click (that is, the English language which should show there, doesn't), but that's a much smaller problem, and of course does work just fine on all subsequent clicks.
Attachment #8554665 - Flags: feedback- → feedback+
Attachment #8554665 - Flags: review?(neil)
Comment on attachment 8554665 [details] [diff] [review]
Patch v1.0 Possible fix.

Seems fair enough.
Attachment #8554665 - Flags: review?(neil) → review+
Assignee: nobody → philip.chee
Status: NEW → ASSIGNED
http://hg.mozilla.org/comm-central/rev/48ff8b2ce3bf
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.37
Comment on attachment 8554665 [details] [diff] [review]
Patch v1.0 Possible fix.

[Approval Request Comment]
Regression caused by (bug #): Bug 856270
User impact if declined: Very Large context menu on Linux
Testing completed (on m-c, etc.): Baked on SeaMonkey 2.37 and Firefox 33
Risk to taking this patch (and alternatives if risky): low - bustage fix.
String changes made by this patch: None.
Attachment #8554665 - Flags: approval-comm-release?
Attachment #8554665 - Flags: approval-comm-beta?
Depends on: 856270, 1005601
(In reply to Philip Chee from comment #16)
> Comment on attachment 8554665 [details] [diff] [review]
> Patch v1.0 Possible fix.
> 
> [Approval Request Comment]
> Regression caused by (bug #): Bug 856270
> User impact if declined: Very Large context menu on Linux
> Testing completed (on m-c, etc.): Baked on SeaMonkey 2.37 and Firefox 33
> Risk to taking this patch (and alternatives if risky): low - bustage fix.
> String changes made by this patch: None.

Attachment #8554665 [details] [diff] - Flags: approval-comm-release?
Attachment #8554665 [details] [diff] - Flags: approval-comm-beta?
Flags: needinfo?(iann_bugzilla)
Flags: needinfo?(iann_bugzilla)
Attachment #8554665 - Flags: approval-comm-release?
Attachment #8554665 - Flags: approval-comm-release+
Attachment #8554665 - Flags: approval-comm-beta?
Attachment #8554665 - Flags: approval-comm-beta+
http://hg.mozilla.org/releases/comm-release/rev/ad744e46a2fc SeaMonkey 2.35 (SEAMONKEY_2_35_RELEASE_BRANCH)
http://hg.mozilla.org/releases/comm-release/rev/7937c522252e SeaMonkey 2.36
User Story: (updated)
You need to log in before you can comment on or make changes to this bug.