27914, 27305, 28690, 14608, 27306, 28757
These fixes reviewed by cmanske, apprvd rickg;
also fix for 28724 (caret positioning problems)
reviewed by mjudge, apprvd by jar.
git-svn-id: svn://10.0.0.236/trunk@61653 18797224-902f-48f8-a5cc-f745e15eee43
In addition some improvements were made to the adjustment of selection after an edit action (example: backspacing through a list item now pops you up to the previous item)
git-svn-id: svn://10.0.0.236/trunk@58013 18797224-902f-48f8-a5cc-f745e15eee43
* fixed 23597;
* fixed deletion bug that could cause to breaks to be deleted instead of one, when backspacing once. (no #)
* partial fix for current paragraph style not being properly reported in the composer toolbar. (no #)
git-svn-id: svn://10.0.0.236/trunk@57934 18797224-902f-48f8-a5cc-f745e15eee43
fixes bug: 19979 (extra blank line showing up in
mail that has quotes)
partial progress on block transformation work:
unlisting a list now works mostly correctly again,
instead of merging all the former list items into
one run of text (no bug number).
Moz-br's are now added in one more circumstance:
when you have a br at the end of some inline
content that is followed by a new block (like a
list, table, etc.). This is needed for the same
reason that the other moz-br's are: to generate a
blank line that the user expects after hitting
return. (no bug number)
DTD-related work to enable the editor to check if
you should be able to type given the current
selection.
fixed bug 22944: inserting an <A> in a table
splits the table.
Made some progress on text paste performance, but
it's still too slow. That's 19273, which I'm
leaving open
fixed bug 15258: selection capable of getting out
of the body element.
fixed a bug where code that merged adjacent text
nodes would merge the non-editable "formatting"
textnodes, (no bug number). Added code to prevent
selection from ending up inside a non-editable
text node.
fix for 11994, an IME bug.
git-svn-id: svn://10.0.0.236/trunk@57272 18797224-902f-48f8-a5cc-f745e15eee43
This is actually a major reworking of how the low level editor txns perturb selection. There is a mode now for telling the txns not to disturb the selection. There is also a fix for unlisting lists (sometimes list items got merged unintentionally when unlisting).
git-svn-id: svn://10.0.0.236/trunk@56714 18797224-902f-48f8-a5cc-f745e15eee43
* fixed a paste/rules interaction problem (19367)
* introduced an init time pass over html documents to populate empty list items and table cells with special breaks so that the user can click in them and actually get a caret
* fixed some warnings
r = floppy moose
git-svn-id: svn://10.0.0.236/trunk@54561 18797224-902f-48f8-a5cc-f745e15eee43
Checkin addressees these bugzilla bugs:
2073 & 12337 - whitespace trouble when typing (you can end up with all nbsp's instead of spaces)
git-svn-id: svn://10.0.0.236/trunk@54463 18797224-902f-48f8-a5cc-f745e15eee43
deletion doesn't scatter so many empty nodes;
mailcite rules started;
general deletion work (still WIP);
several small bugfixes;
refactored list item outdenting code
git-svn-id: svn://10.0.0.236/trunk@46126 18797224-902f-48f8-a5cc-f745e15eee43
rules code can call SetFlags with mEditor initialized and do real
processing if it wants to.
git-svn-id: svn://10.0.0.236/trunk@42775 18797224-902f-48f8-a5cc-f745e15eee43
1. IsEditable is much less hacky. It basically says:
1. if the node is a special bogus text node, it's not editable
2. if the node is a text node with only newlines, then it's not editable
3. if the node has no frame associated with it, then it is not editable
4. otherwise, it is editable.
As part of this, I had to make IsEditable non-static. This had some cascading effects on static methods that called
IsEditable, which likewise had to be made non-static.
2. SetTextProperties now works when the endpoints are leaf nodes (like images), not just text. Charlie, you should
put this through some stress cases.
git-svn-id: svn://10.0.0.236/trunk@37741 18797224-902f-48f8-a5cc-f745e15eee43
* Added some code to restore selection after RemoveTextProperty.
* Made a tiny change to the way the editor holds onto the transaction manager, so client (like the ender text control) can
turn undo on and off effectively
* Fixed a bug in IsNodeInline that was causing GetBlockParent to return the wrong parent node (and who knows what
other mischief) where atom compares were being done on strings of different case, for <B>, "b" vs. "B". The DOM
method nsIDOMElement::GetTagName forced the returned tag name to upper case. I don't know how long that has
been true, but I assume it's a fairly recent change (or something on our side related to it changed recently) or this method
never would have worked. I also found a few cases of nsString::Equals that I changed to EqualsIgnoreCase
* Made some general improvements to the interaction between editors and rules, so that the aCancel out param is always
intialized, and all rules with Will... are matched with a Did... call. Added Will/DidSetTextProperty() and
Will/DidRemoveTextProperty(). This helps enable plain text mode. Added a skeleton for max length support in text editor.
* fixed some warnings.
git-svn-id: svn://10.0.0.236/trunk@34183 18797224-902f-48f8-a5cc-f745e15eee43