Commit Graph

79 Commits

Author SHA1 Message Date
Fabien Cazenave
2c92600954 Bug 688599 - do not expand selection for deletion outside of the active editing host; r=ehsan
When a selection in an inline element is to be deleted, it is first expanded to
the parent block in order not to leave any empty inline element. This patch
ensures that the selection cannot be expanded outside of the contentEditable
element (active editing host).
2011-07-25 17:11:46 -04:00
Fabien Cazenave
81bff8a94d Bug 449243 - contentEditable: insert <p> instead of <br>; r=ehsan
In editable elements, create a paragraph instead of a <br> node
when [Return] is pressed:
 * once in a header node (<h[1..6]>);
 * twice in a list item node (<li>).
2011-07-22 12:19:17 -04:00
Ehsan Akhgari
a6b5feed16 Bug 671672 - Reduce a bunch of console spam in debug builds caused by the HTML editor; r=roc 2011-07-14 17:06:37 -04:00
Ehsan Akhgari
4a9dec68d7 Bug 414526 - Backspace at the beginning of a contenteditable element or delete at the end of one should not affect the rest of the contenteditable elements on the page; r=roc
The main fix here involves the introduction of the nsHTMLEditor::IsNodeInActiveEditor
API.  This API returns true if the current selection in the document falls
inside the active editable section.  The patch adds a bunch of checks using
this API to various places in the code to make sure that editing operations do
not escape their editing host.

There are also some unrelated fixes to range promotion code which fix the
bugs that have existed in that code before, but because of the lack of this
check were not uncovered before.

This patch also removes the nsTextEditUtils::InBody API which only made sense
in designMode documents, and was insufficient for contenteditable elements.
2011-07-14 11:25:07 -04:00
Simon Montagu
ae37ce037d Undefine caret bidi level during reflow instead of on text entry. Bug 664087, r=roc 2011-07-05 08:42:32 +03:00
Ehsan Akhgari
beba2dbb1d Bug 439808 - Make sure that deleting a selection works in inline contenteditable elements which have a non-editable parent block; r=roc
--HG--
extra : rebase_source : 74d3df996b904032696000daa532d217140d3b2d
2011-06-29 21:01:59 -04:00
Masayuki Nakano
db1e5b26fa Bug 664437 editor should use mozilla::Preferences r=ehsan 2011-06-17 09:59:29 +09:00
Jonas Sicking
17ec46a39a Bug 659053 Part 1: Merge nsIDOM3Node into nsIDOMNode. Also removes Node.getFeature. r=peterv 2011-06-14 00:56:48 -07:00
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Ehsan Akhgari
319dc53b8e Bug 658516 - nsHTMLEditRules.cpp:5810:52: warning: comparison between signed and unsigned integer expressions. r=roc
--HG--
extra : rebase_source : 6772483c9ca0eb23444850db1f30f0144516a861
2011-05-25 10:10:45 +02:00
Craig Topper
4e38ca20a7 Bug 658143 - Part 1: Changes nsCOMPtr<nsFrameSelection> to nsRefPtr. r=roc 2011-05-18 20:10:49 -07:00
Ms2ger
63679730f9 Bug 657160 - Remove NS_NewHTMLEditRules; r=ehsan 2011-05-15 12:15:35 +02:00
Ed Morley
082d53f39b Bug 655756 - Remove final XP_MAC remnants; r=josh 2011-05-10 20:24:48 +02:00
Jonas Sicking
549cf0a0a2 Bug 643786. Don't fire DOMNodeRemoved when removing the editor created <br>. r=ehsan 2011-05-09 12:33:04 -07:00
Jonas Sicking
0e17979856 Bug 650493 Part 1: Simplify mutation events by firing all but DOMNodeRemoved off of script runners, and DOMNodeRemoved before starting any update batches or aquiring any state. r=smaug/peterv 2011-05-09 12:33:03 -07:00
Sebastian Kromp
d80897722a Bug 633750 - deCOM nsIHTMLEditRules and move methods to nsHTMLEditRules. r=ehsan 2011-05-07 10:04:56 +02:00
Ehsan Akhgari
db7da1c428 Bug 643786 - Fix a crash caused by the HTML editor being destroyed when the document modified handler is in progress [@ nsHTMLEditRules::~nsHTMLEditRules]; r=roc 2011-03-23 15:59:06 -04:00
Mats Palmgren
7958218e24 Bug 635636 - Don't return a value from void function. a=bustage 2011-02-21 21:43:54 +01:00
Mats Palmgren
b765f11bf5 Bug 635636 - Crash [@ nsHTMLEditRules::DocumentModifiedWorker] with navigated-away designMode document; r,a=ehsan 2011-02-21 15:34:16 -05:00
Ehsan Akhgari
ed92562d68 Bug 615015 - "ASSERTION: bad action nesting!"; r,a=roc
--HG--
extra : rebase_source : 3e972a7f5dad81b5cba1b8ee93c16798fdc809c2
2010-12-01 00:24:09 -05:00
Ehsan Akhgari
ef612c0f0a Bug 615450 - Prevent the reinitialization of the HTML editor while an editor operation is in progress on a document; r,a=roc
This should prevent crashes, update view count and edit action nesting count mismatches, and more!

--HG--
extra : rebase_source : af1397b3c8de19d936ca70690a6f7ed284cc5d00
2010-11-30 23:21:32 -05:00
Ehsan Akhgari
a09905d6a5 Bug 612447 - Part 3: Prevent the HTML editor from dying while we run a document modified handler from a script runner; r=bzbarsky a=blocking-beta8 2010-11-19 11:02:24 -05:00
Ehsan Akhgari
8376c423de Bug 611182 - Part 3: Handle dynamic changes to the editable documents and create/remove the bogus node if needed; r=bzbarsky a=blocking-beta8+ 2010-11-11 16:40:52 -05:00
Ehsan Akhgari
472326895e Bug 551704 - Part 2: Don't replace newline characters with BR nodes in preformatted editable fields; r=roc a=blocking-betaN+ 2010-11-06 18:49:26 -04:00
Ehsan Akhgari
e588665b2b Bug 551704 - Part 1: Don't initialize the selection needlessly if the editable area is not focused; r=roc a=blocking-betaN+ 2010-11-06 18:49:26 -04:00
Ms2ger
1dc17b150a Bug 605177 - Fix a number of build warnings in editor/; r=ehsan a=bsmedberg 2010-11-04 16:44:46 -04:00
Daniel Glazman
ac5d79b1f8 Bug 607584 - CR in a paragraph with an id attribute creates a second paragraph of same id; r=ehsan a=roc 2010-10-29 12:35:27 -04:00
Ehsan Akhgari
3f077eaff5 Bug 572598 - Part 6: Don't try to split a node which can't contain a list when inserting one; r=roc 2010-06-21 11:02:14 -04:00
Ehsan Akhgari
6caa9db6f3 Bug 572598 - Part 2: Make sure not to exceed the editor's root element when promoting ranges; r=roc 2010-06-18 16:53:16 -04:00
Ehsan Akhgari
83246c59b4 Bug 572598 - Part 1: Don't attempt to inject nodes for type-in state where the container can't accept child nodes; r=roc 2010-06-18 01:37:20 -04:00
Ehsan Akhgari
24b20624da Bug 572618 - Make debugging the editor easier - Part 4: multiline version of part 1; r=roc 2010-06-17 16:44:35 -04:00
Ehsan Akhgari
efa76e8106 Bug 572618 - Make debugging the editor easier - Part 3: multiline version of part 2; r=roc 2010-06-17 16:40:48 -04:00
Ehsan Akhgari
e93945101f Bug 572618 - Make debugging the editor easier - Part 2: Replace all if(!foo) return NS_ERROR_bar checks with NS_ENSURE_TRUE(foo, NS_ERROR_bar); r=roc 2010-06-17 15:41:16 -04:00
Ehsan Akhgari
ed95bc25f5 Bug 572618 - Make debugging the editor easier - Part 1: Replace all if(NS_FAILED) checks with NS_ENSURE_SUCCESS; r=roc 2010-06-17 15:27:24 -04:00
Ehsan Akhgari
181e117cff Bug 569523 - GetStartNodeAndOffset should take an nsIDOMNode** parameter, instead of nsCOMPtr<nsIDOMNode>*; r=roc 2010-06-10 22:46:51 -04:00
Ehsan Akhgari
45f365a4d6 Bug 484181 - spellcheck broken in contenteditable DIV with preceding empty DIV within a DIV; r=roc 2010-05-31 17:40:17 -04:00
Michael Kohler
882385621a Bug 260911 - fix 'hierarchy' misspellings. r=timeless
--HG--
extra : rebase_source : ea5fb9d2228966f1bd4eb10d8b5839988a758eaf
2010-04-29 21:01:11 +02:00
Masayuki Nakano
7d05909d39 Bug 552914 nsEditor::mFlags is never modified by SetFlags() r=smaug 2010-04-12 11:35:18 +09:00
Craig Topper
9eccdbd4d7 Bug 557416: Remove unnecessary includes and forward declarations of nsIPresShell. r=roc 2010-04-10 16:09:38 -04:00
liucougar@gmail.com
08a58993f1 Bug 507936 - Should join node when deleting at end of paragraph. r=peterv 2010-03-23 09:23:23 +01:00
Mats Palmgren
b4870c9c1d Bug 541013. r=peterv 2010-03-15 19:30:01 +01:00
Justin Wood
3659e4a8ef Backout Bug 507936, Due to test failures. roc claimed to have done it already but I don't see it 2010-03-15 01:15:27 -04:00
liucougar
a571e0a828 Bug 507936. Join nodes when deleting at end of paragraph. r=peterv
--HG--
extra : rebase_source : cf90db83f439a33643daf98662f36b98a18649c7
2010-03-15 14:37:23 +13:00
Ehsan Akhgari
4c3dd43ac1 Bug 499844; r=peterv
--HG--
extra : rebase_source : 867ce45fa9da2063a36d88966d0fa1b207311e6e
2010-01-15 12:17:44 -05:00
Jae-Seong Lee-Russo
aef352eae8 Bug 530296 - Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX in /editor. r=peterv 2010-02-11 09:34:37 +01:00
Blake Kaplan
7c6f6cb50c Bug 434766 - Don't try to use the selection if we don't need one. r+sr=peterv 2009-07-01 12:12:04 -07:00
Neil Rashbrook
9579ae09b2 Bug 488094 Fix fallout from bug 237964 by not deleting nodes twice r+sr=peterv 2009-06-11 15:29:15 +01:00
Mats Palmgren
ffc3033195 Bug 487524. Joining a list to its parent should be a no-op. r+sr=peterv
--HG--
extra : rebase_source : bc62f18f6ef25dcabd5a48caad547be2a209662d
2009-05-13 21:45:38 +12:00
Robert Sayre ext:(%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
0864915da4 Add the editor to cycle collection. (Bug 423233) r+sr=peterv 2009-05-08 21:59:25 -07:00
L. David Baron
a55b8a1b0a Clear the weak back pointers in nsTextEditRules and nsHTMLEditRules when they are no longer valid, to prepare for editor cycle collection. (Bug 423233) r+sr=peterv 2009-05-08 21:59:24 -07:00