Checkin addressees these bugzilla bugs:
2073 & 12337 - whitespace trouble when typing (you can end up with all nbsp's instead of spaces)
16715 - caret gone or wrong after hitting return
16988 - aim foiled by our mozDIVs
17908 - enter at end of document does nothing
16085 - 4.x mail replied foiled by mozDIVs
19368 - inline style lost after typing return
17059 - "normal" made a paragraph, but typing made a div. Now they both just use direct text in the body (or wherever)
18717 - exiting list gives UBER caret (note: this will only be fixed most of the time, not all)
17778 - cant type beside an image (it ends up above or below it) - this was a rather strange ramification of the old mozDIV
rules which are now gone.
git-svn-id: svn://10.0.0.236/trunk@54462 18797224-902f-48f8-a5cc-f745e15eee43
* added focus listener. Doesn't do much yet, but when focus notifications start appearing, we'll be ready for them. The code is in
place to hide selection when we lose focus and paint selection when we get focus. That's probably not quite right, but it's a start.
We will need to be able to determine the distinction between losing focus to another control within our app, and losing focus to
another app.
* added support for disabled and readonly states in the editor. This is accomplished by having flags set by the client, and letting the
rules system deal with those flags. The flags I added are:
TEXT_EDITOR_FLAG_PLAINTEXT 0x01 // only plain text editing is allowed
TEXT_EDITOR_FLAG_SINGLELINE 0x02 // enter key and CR-LF handled specially
TEXT_EDITOR_FLAG_PASSWORD 0x04 // text is not entered into content, only a representative character
TEXT_EDITOR_FLAG_READONLY 0x08 // editing events are disabled. Editor may still accept focus.
TEXT_EDITOR_FLAG_DISALBED 0x10 // all events are disabled (like scrolling). Editor will not accept focus.
* added WillInsertBreak/DidInsertBreak into text rules, so flags could be checked. This gets us readonly, disabled, and single line
behavior.
* cleaned up the code that allocates, registers, and destroys event listeners. Thanks to Kin and Simon for cleaning up the
ownership model on the listeners, it was a big help.
* added support for a max text length. You can now tell the text editor, be no bigger than n characters.
git-svn-id: svn://10.0.0.236/trunk@33153 18797224-902f-48f8-a5cc-f745e15eee43