Closed Bug 357207 Opened 18 years ago Closed 15 years ago

"Check my spelling as I type" often does not work for designMode iframes (WYSIWYG editors)

Categories

(Core :: Spelling checker, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: erik, Unassigned)

References

()

Details

(Keywords: testcase)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

I've always loved SpellBound, especially the recent development versions that checked my spelling as I typed.  It worked on ALL text entry fields automatically if I asked it to check as I type.  However, Firefox 2.0 RC3 does not work quite as well.  I primarily use spell checking on a few web forums, most of which are using vBulletin these days, it seems.  Unfortunately, Firefox doesn't auto-check my spelling in a vBulletin message entry window!  It checks it fine in this (Bugzilla details) entry window, confirming that the "Check my spelling as I type" option does work in some cases (generic multiline text boxes).  On vBulletin boards, I can right-click on the window and manually tell Firefox to check my spelling, but that's a step BACKWARDS from the functionality I had in 1.5.0.7 with SpellBound.

Personally, I'd like to see ALL text fields auto-spell checked if I have the option set.  If I'm searching on Google for proper nouns or something, it's not a big deal if the word gets underlined in red.  I just ignore the underline and move on.  However, if the feature doesn't work as intended for web discussion boards - nearly the only use I have for the feature - it's much less useful.

Reproducible: Always

Steps to Reproduce:
1. Log into a vBulletin web site (i.e. www.martialartsvillage.org.co.uk or www.dragonslist.com or any number of others)
2. Enter a new message using the software's javaScript message composer (with formatting functionality)
3. Type some gibberish that Firefox would normally underline as spelled incorrectly.

Actual Results:  
Nothing.  No underlines.  Firefox _appears_ to think that "fajhfadshl adygrehlja afyugerjkasd" is spelled correctly, UNLESS you right-click on the window and specify "Spell check this field."

Expected Results:  
My gibberish should be underlined as spelled incorrectly.  Ditto for any of my typos. :)

I haven't confirmed whether or not the behavior is the same if I turn of vBulletin's WYSIWYG editing features, but I shouldn't have to do that.  The JavaScript-based WYSIWYG editor works fine in Firefox, and with Firefox 1.5.x and SpellBound Development Version, the underline-as-you-type feature also worked fine; clearly the problem is in Firefox's implementation of the spell checker, not in vBulletin's Firefox compatibility.
Version: unspecified → 2.0 Branch
WFM on trunk when I load http://www.squarefree.com/contenteditable.html.
Assignee: nobody → mscott
Component: General → Spelling checker
Product: Firefox → Core
QA Contact: general → spelling-checker
Summary: "Check my spelling as I type" often does not work (depending on text box type) → "Check my spelling as I type" often does not work for designMode iframes (WYSIWYG editors)
Version: 2.0 Branch → 1.8 Branch
Two comments - first, I had a typo in one of my example URLs.  No ".co" in the Martial Arts Village URL.

Second, thanks to James on Mozillazine, I'm told that setting layout.spellcheckDefault to 2 (turn inline checking on for all fields) solves this problem.  This works as a stopgap until the bug is fixed, but since users shouldn't be expected to hack into about:config to solve these types of problems, it's not a proper fix, IMHO.
I was unable to load the given URL even by adding a .co.
(In reply to comment #3)
> I was unable to load the given URL even by adding a .co.

That's because there's no ".co" - The ".co" is in my first comment, which I couldn't edit (I did edit the URL field in the bug entry).  It's just "http://www.martialartsvillage.org.uk"

Also, I want to point out that on both of my example sites, setting layout.spellcheckDefault to 2 does NOT actually fix this problem on either site I mentioned. :(  I added that comment after seeing the reply on MozillaZine, but was in a rush to leave for work, so I didn't test it out.  It does make it so that single-line entries get spell-checked automatically, but it still doesn't apply to the WYSIWYG editors on the vBulletin site (Martial Arts Village) or the vBSEO-hacked vBulletin site (Dragon's List).

I can confirm your behavior. It probably has something to do with the way vbulletin creates the editor that causes the right code in Mozilla to not get triggered.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attached file testcase
This is also a problem on trunk.
Keywords: testcase
Version: 1.8 Branch → Trunk
We've added code to manually enable spellchecker to all branches of vBulletin.
I suspect the problem is somehow caused here:
http://lxr.mozilla.org/seamonkey/source/content/html/document/src/nsHTMLDocument.cpp#2092
2092     SetDesignMode(NS_LITERAL_STRING("off"));
2093     SetDesignMode(NS_LITERAL_STRING("on"));
when designmode is turned off and then on again in nsHTMLDocument::OpenCommon
When I remove SetDesignMode(NS_LITERAL_STRING("off")); then spellchecking is enabled.
(In reply to comment #8)
> We've added code to manually enable spellchecker to all branches of vBulletin.

If the code was already added, why did this fix not make it into 2.0.0.1, which still exhibits this problem?
(In reply to comment #10)
> If the code was already added, why did this fix not make it into 2.0.0.1, which
> still exhibits this problem?

The code was added to vBulletin, not to Firefox.

(In reply to comment #11)
> The code was added to vBulletin, not to Firefox.

Oh...  I misunderstood, then.  Hopefully this will also be fixed in Firefox, given that some bulletin boards update very infrequently, and that it could well affect other DesignMode iframes.
Blocks: 358585
Would be good if someone could fix this or write an extension that fixes those cases where spell checking is missing.  However, this probably shouldn't block Fx 3.
Flags: blocking1.9? → blocking1.9-
Blocks: 424615
Assignee: mscott → nobody
I've created the following test page for FCKeditor:
http://www.fckeditor.net/_temp/browsers_bugs/firefox/spellchecker.html

In my tests, only the first words in "new paragraphs created at the end of the text" get the misspell mark line. 

Here we have a few tests that are broken:

1. Load the editor.
2. Only "Thsis" will be marked, but not "usinng".

1. Load the editor.
2. Start typing at the end of the text.
3. Misspelled words will not get marked.

1. Load the editor. 
2. Hit ENTER at the end of the text. 
3. Type a series of misspelled words.
4. Only the first word gets marked.

1. Load the editor.
2. Hit ENTER at the end of the text. 
3. Type "This texxt is misspelled".
4. "texxt" will not get marked.

An strange fact is that, if you create new paragraphs in the middle of the text, the spellchecker will work well for that new paragraph. For example.

1. Load the editor.
2. Hit ENTER at the end of the text. 
3. Type "This linne is misspelled.". ("linne" will not get marked).
4. Move back to the end of the first line and hit ENTER again. A new paragraph is created between the two previous ones.
5. Type "This linne is also misspelled."

In the above case, all misspells in that paragraph get marked. But if you create again a new paragraph at the end of the text, no misspells are marked.
The testcase works for me on - Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b4pre) Gecko/20090319 Shiretoko/3.5b4pre
(In reply to comment #15)
> I've created the following test page for FCKeditor:
> http://www.fckeditor.net/_temp/browsers_bugs/firefox/spellchecker.html
> 
> In my tests, only the first words in "new paragraphs created at the end of the
> text" get the misspell mark line. 
> 
> Here we have a few tests that are broken:
> 
> 1. Load the editor.
> 2. Only "Thsis" will be marked, but not "usinng".
> 
WFM. "Thsis", "usinng" and "FCKeditor" are all marked.

> 1. Load the editor.
> 2. Start typing at the end of the text.
> 3. Misspelled words will not get marked.
> 
WFM. Misspelled words get marked.

> 1. Load the editor. 
> 2. Hit ENTER at the end of the text. 
> 3. Type a series of misspelled words.
> 4. Only the first word gets marked.
> 
WFM. All the misspelled words get marked.

> 1. Load the editor.
> 2. Hit ENTER at the end of the text. 
> 3. Type "This texxt is misspelled".
> 4. "texxt" will not get marked.
> 
WFM. "texxt" gets marked.

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b4) Gecko/20090427 Shiretoko/3.5b4
(In reply to comment #6)
> Created an attachment (id=242873) [details]
> testcase

WFM. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b4) Gecko/20090427 Shiretoko/3.5b4
Test cases in Comment 1, Comment 6, Comment 13, Comment 17 all WFM.

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b99) Gecko/20090605 Firefox/3.5b99

Resolving. Please open another bug if there are still reproducible problems.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: