Commit Graph

925 Commits

Author SHA1 Message Date
Ms2ger
ae2f0c6a74 Bug 705439 - Remove dead code: nsHTMLEditor::GetBlockSection / nsHTMLEditor::GetBlockSectionsForRange; r=ehsan 2011-12-03 22:50:17 +01:00
Ms2ger
3ca7221ed9 Bug 705438 - Remove dead code: nsHTMLCSSUtils::RemoveCSSProperty(nsIDOMElement*, const nsAString&); r=ehsan 2011-12-03 22:50:17 +01:00
Fabien Cazenave
67ba2ac03b Bug 684187 - Use dom::Element instead of nsIDOMElement for nsEditor::mRootElement; r=ehsan 2011-12-03 22:50:15 +01:00
Masayuki Nakano
145d565bb0 Bug 392159 Use nsIClipboard::SupportsSelectionClipboard() instead of #ifdef in nsEditorEventListener r=ehsan 2011-11-30 11:57:41 +09:00
Boris Zbarsky
b327466b66 Bug 635618 part 5. Pass an optional argument to GetPriorNode and GetNextNode to limit the search. r=ehsan 2011-11-28 07:54:32 -05:00
Boris Zbarsky
934bc3d8e0 Bug 635618 part 4. Switch GetNextNode and GetPriorNode to working with nsINode. r=ehsan 2011-11-28 07:54:14 -05:00
Boris Zbarsky
a4cebc0963 Bug 635618 part 3. Switch GetPriorNodeImpl and GetNextNodeImpl to working with nsINode. r=ehsan 2011-11-28 07:54:03 -05:00
Boris Zbarsky
100a69dffc Bug 635618 part 2. Add nsINode overloads of various editor helper methods. r=ehsan 2011-11-28 07:53:29 -05:00
Boris Zbarsky
4d317e516c Bug 635618 part 1. Only get computed style in IsElementVisible if we end up in a situation where we're waiting on lazy frame construction. r=ehsan 2011-11-28 07:53:15 -05:00
Masayuki Nakano
41b9f0b138 Bug 685395 part.6 Notify mouse click event on editor to widget r=roc+smaug+doug.turner 2011-11-27 20:51:53 +09:00
Masayuki Nakano
1360b0f19b Bug 685395 part.5 Reomve IME state in nsIContent r=roc, sr=matspal 2011-11-27 20:51:53 +09:00
Masayuki Nakano
c51f522330 Bug 697842 stopPropagation() shouldn't break IME composition r=ehsan 2011-11-27 09:36:36 +09:00
Masayuki Nakano
e5b55da467 Bug 674770 part.4 Add new tests for pasting by middle click r=ehsan 2011-11-26 13:51:49 +09:00
Ehsan Akhgari
8e6c11ce28 Bug 674770 part.3 Add tests for middle-clicking on anchor element when the page has contenteditable element r=roc 2011-11-26 13:51:49 +09:00
Masayuki Nakano
7738b4cb1c Bug 674770 part.2 Fix new test_bug597331.html failure and test_bug600570.html failur on Windows r=ehsan 2011-11-26 13:51:48 +09:00
Masayuki Nakano
27cba84c99 Bug 674770 part.1 Shouldn't accept click event if the event target isn't in focused editor r=ehsan 2011-11-26 13:51:48 +09:00
Ehsan Akhgari
abf9372815 Bug 682712 - Set the correct selection type when initializing the selection in editable content; r=roc 2011-11-18 16:47:40 -05:00
Ms2ger
7d213b5c58 Bug 702102 - Cleanup nsHTMLEditor::GetEmbeddedObjects; r=ehsan 2011-11-16 08:50:20 +01:00
Oonishi Atsushi
ebc58fb880 Bug 311007 - Add aFlags arg to onLocationChange(...), to distinguish between same-document and different-document. r=smaug, sr=bzbarsky 2011-11-10 15:01:11 +01:00
Ed Morley
6a998be2c5 Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail 2011-11-05 18:35:59 +00:00
Rail Aliiev
364e83c545 Bug 616542 - Shorten file path length of mochitest; r=ted 2011-11-04 21:13:42 +00:00
Ms2ger
d0aac143b2 Bug 697210 - Part c: Remove nsIDocument::CreateElem's aDocumentDefaultType argument; r=bz 2011-10-29 22:21:20 +02:00
Ms2ger
d559f12c63 Bug 690120 - Make nsEditor::GetAttributeValue not use attribute nodes; r=ehsan 2011-10-29 22:19:27 +02:00
Ms2ger
567f4260b6 Bug 684821 - Remove nsIDOMNSHTMLElement; r=peterv 2011-10-29 22:03:55 +02:00
Jonas Sicking
0588c874fd Bug 687400: Kill Node.isSameNode. r=smaug 2011-10-28 19:52:27 -07:00
Ehsan Akhgari
74d9b6f1fb Backout changeset be42bc18185a (bug 612128) because of bug 688423 2011-10-25 22:32:55 -04:00
Ehsan Akhgari
441646faaa Backout changeset a4d5ca366ef1 (bug 612128 followup) because of bug 688423 2011-10-25 22:31:15 -04:00
Ehsan Akhgari
50052a640f Bug 612128 followup - Adjust the assertion count because bug bug 695364 should be fixed now 2011-10-20 14:01:12 -04:00
Ehsan Akhgari
8cfbed187e Bug 612128 - Prevent the editor from modifying nodes which are not under an editing host; r=roc,bzbarsky
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host.  Things like text controls which used to have that flag
previously will not have it any more.  The flag would be set on their anonymous
div node instead.  Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.

This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).

--HG--
extra : rebase_source : 37317b4d95c2ea957be81420583a98a24f0864ac
2010-11-16 15:45:49 -05:00
Ehsan Akhgari
6142aabb94 Bug 688789 - Stop touching the frame tree to determine whether a node is editable or not; r=roc 2011-10-17 00:11:29 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Quentin Headen
2fe3ac75d0 Bug 364914 - Do not spell check the contents of a textarea until it's focused for the first time; r=ehsan 2011-10-16 22:06:24 -04:00
Jeff Walden
b7753477cf Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Joel Maher
fd8629a74b Bug 573735 - support waitForClipboard events in e10s. r=jdm,ted 2011-10-14 07:52:02 -04:00
Henri Sivonen
f0d03766ac Bug 677050 - Return NS_ERROR_DOM_INVALID_STATE_ERR if fragment parsing is invoked re-entrantly. r=bzbarsky. 2011-10-14 13:39:19 +03:00
Jeff Walden
eb2cb918a4 Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail 2011-10-12 12:21:53 -07:00
Jeff Walden
77ebbde4ab Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones
--HG--
extra : rebase_source : 860a8271bf7e51cde358f2a4185c410de1fc2960
2011-10-10 22:50:08 -07:00
Ehsan Akhgari
3f9bc5233b Backout changeset bc4f8b8d18b3 (bug 674770) because of the failing test on Windows 2011-10-12 13:51:14 -04:00
Ehsan Akhgari
9c7c34b3ee Bug 674770 - contenteditable breaks middle-click to open links when middlemouse.paste=true; r=roc 2011-09-29 15:24:13 -04:00
Ehsan Akhgari
d9e0fb12d5 Bug 692520 - Handle the case where the frame might going away while retrieving selection properties from a text control; r=bzbarsky 2011-10-07 09:40:11 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Ehsan Akhgari
2929393a1a Merge mozilla-central and mozilla-inbound after the landing of bug 666414 2011-09-26 16:12:48 -04:00
Ehsan Akhgari
b542efd4e6 Bug 666414 - Prevent AddRef and Release from being called on the pointers wrapped in nsCOMPtr and nsRefPtr; r=bsmedberg 2011-09-16 16:22:44 -04:00
Graeme McCutcheon
6171ee4207 Bug 46555 - "Select All" should only be enabled when editor is non-empty. r=ehsan, gavin 2011-09-23 22:44:53 +01:00
Ehsan Akhgari
85e673bce7 Backout changeset a72195ce0eaa (bug 612128) becasue of Fennec regressions 2011-09-22 18:09:44 -04:00
Martijn Wargers
c3d7075c86 Bug 634626 - Move test_bug36682 to mochitest chrome, add layout.spellcheckDefault pref test; r=ehsan 2011-09-22 17:35:24 +01:00
Masayuki Nakano
54e3afdd66 Bug 543789 part.7 Dispatch compositionupdate event and set data value of compositionend event in all IME handling tests r=smaug, sr=roc 2011-09-22 18:17:41 +09:00
Brian R. Bondy
785005832f Bug 598289 - Test case for CF_HTML parsing with StartHTML/EndHTML set to -1. r=ehsan 2011-09-21 13:22:54 -04:00
Brian R. Bondy
7270643d0e Bug 598289 - Unable to paste CF_HTML from clipboard if StartHTML/EndHTML is -1. r=ehsan 2011-09-21 13:22:53 -04:00
Ehsan Akhgari
b5f8461038 Bug 681229 - Sanitize the platform linebreaks to DOM linebreaks when pasting or drag-dropping text into text controls; r=roc 2011-09-15 15:32:42 -04:00
Ehsan Akhgari
ec2d83e852 Bug 612128 - Prevent the editor from modifying nodes which are not under an editing host; r=roc,bzbarsky
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host.  Things like text controls which used to have that flag
previously will not have it any more.  The flag would be set on their anonymous
div node instead.  Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.

This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
2010-11-16 15:45:49 -05:00
Ian Neil
3b5e70377b Test case for bug 552782; r=ehsan 2011-09-20 12:27:24 -04:00
Ehsan Akhgari
94196508b4 Backout changeset c0e8e3ada0ac (bug 681229) because the test fails on Windows 2011-09-15 17:43:24 -04:00
Ehsan Akhgari
861d1c6530 Bug 681229 - Sanitize the platform linebreaks to DOM linebreaks when pasting or drag-dropping text into text controls; r=roc 2011-09-15 15:32:42 -04:00
Ehsan Akhgari
5512725a02 Bug 98160 - Add support for platform native text switching keyboard shortcuts in bidi UI on Windows; r=roc 2011-09-15 10:54:50 -04:00
Jesper Kristensen
90f5bdbe17 Bug 591780 - Part 1: Backend support for adding and removing spell checker dictionaries at runtime; r=ehsan 2011-09-13 14:58:54 -04:00
Ehsan Akhgari
cc23586321 Bug 414178 - Do not allow to inject a list outside of the active editing host; r=roc 2011-09-13 11:39:40 -04:00
Ed Morley
7be2d82964 Backout changeset b8d354d37128 (bug 574005) for Linux M3 orange; a=bbondy 2011-09-13 00:49:59 +01:00
Brian R. Bondy
ab466ccba9 Bug 574005 - Make obtaining CF_HTML directly work on Windows and Linux (application/x-moz-nativehtml); r=ehsan 2011-09-12 18:38:57 -04:00
Fabien Cazenave
ec441b95e5 Bug 570144 - After pressing Enter, editable DIVs in list items are duplicated; r=ehsan 2011-09-12 15:25:38 -04:00
Masayuki Nakano
27777a6f2a Bug 669028 part.9 editor should use mozilla::LookAndFeel rather than nsILookAndFeel r=ehsan 2011-09-09 11:27:12 +09:00
Ehsan Akhgari
70eb2838de Bug 682650 - Use an unsigned 32-bit integer as the container of offsets inside text nodes; r=roc
(I bet that there are text nodes on the web which have more than 65535 characters on the Web!)
2011-09-08 11:35:33 -04:00
Felix Fung
9bb0edf799 Bug 577266 - Correct misspellings in source code 2011-09-06 17:20:35 -07:00
Fabien Cazenave
1867ac8ecd Bug 462758 - elements with contenteditable=true and position:absolute can be moved around the page; r=ehsan 2011-09-07 13:34:58 -04:00
Ms2ger
0038e2e573 Bug 684807 - Annotate crashtest assertions on Android; r=philor 2011-09-06 18:35:43 +02:00
Ed Morley
4923d068c0 Backout a422b9ff0a9e (bug 591780 part 1) for causing 8% Ts regression on multiple platforms; a=khuey 2011-09-06 14:32:26 +01:00
Jesper Kristensen
ffe4248d12 Bug 591780 - Part 1: Backend support for adding and removing spell checker dictionaries at runtime; r=ehsan 2011-09-05 18:44:34 -04:00
Fabien Cazenave
de80659037 Bug 290026 - Outdent of List does not work properly; r=ehsan 2011-09-02 12:21:33 -04:00
Fabien Cazenave
82c46e275a Bug 291780 - List outdent is not working properly; r=ehsan 2011-09-02 12:19:09 -04:00
Marco Castelluccio
7cb0506077 Bug 682744 - Sprinkle some do_QueryObject fairy dust around the tree; r=khuey 2011-08-30 22:45:31 +01:00
Ms2ger
b12351fbda Bug 672054 - Part a: Remove nsIDOMNSUIEvent; r=smaug 2011-08-26 09:43:49 +02:00
Fabien Cazenave
e48e824329 Bug 677752 - [contentEditable] indent and justify* fail on editable nodes that have only one child; r=ehsan
Issue #1: indent/justify* can create non-valid fragments.
When applying a block-level formatting to a text node, Gecko creates a div or
blockquote block around the text node and sets the corresponding "align" or
"style" attribute. This patch checks that the active editing host can contain
such a block-level element.

Issue #2: indent/justify* can modify the active editing host.
On the first child of the editable element, the selection is extended outside of
the active editing host -- which causes a few issues for our test cases.
In this patch, this issue is "solved" by modifying
`nsHTMLEditRules::GetPromotedPoint' for block-level operations.


** About the tests **

Sorry for the long explanation but I prefer to be as sharp as possible when I
have to modify existing unit tests.

This patch raises 34 unit test "failures" which are improvements.
Two test files are concerned and have been modified accordingly:
  * test_htmleditor_keyevent_handling
  * test_richtext2.html

One test has been clarified (no real modification):
  * test_bug414526.html

Of course, a specific unit test has been added, see `test_bug677752.html'.


** editor/libeditor/html/tests/test_htmleditor_keyevent_handling.html **
Outdenting now works properly, which results in 4 `FAIL'.

  * 7372 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab after Tab on UL
      - got "<ul><li id=\"target\">ul list item</li></ul>",
      expected "<ul><ul><li id=\"target\">ul list item</li></ul></ul>"

  * 7379 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab on UL
      - got "ul list item",
      expected "<ul><li id=\"target\">ul list item</li></ul>"

  * 7415 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shift+Tab after Tab on OL -
      got "<ol><li id=\"target\">ol list item</li></ol>",
      expected "<ol><ol><li id=\"target\">ol list item</li></ol></ol>"

  * 7422 ERROR TEST-UNEXPECTED-FAIL
      | non-tabbable HTML editor: Shfit+Tab on OL
      - got "ol list item",
      expected "<ol><li id=\"target\">ol list item</li></ol>"


** editor/libeditor/html/tests/browserscope/test_richtext2.html **
The 15 tests that now pass result in 15 `FAIL' and 15 `UNEXPECTED_PASS'.
Here's an overview of what we had before the patch:

  * Section A - Apply Formatting Tests: +10 points
                    before patch: 21/31 (Selection:  9/31)
                     after patch: 28/31 (Selection: 12/31)

      FB:BQ_TEXT-1_SI    EXECUTION EXCEPTION
      FB:BQ_TEXT-1_SI    EXECUTION EXCEPTION
      FB:BQ_BR.BR-1_SM   EXECUTION EXCEPTION
      FB:BQ_BR.BR-1_SM   EXECUTION EXCEPTION
      IND_TEXT-1_SI      EXECUTION EXCEPTION
      IND_TEXT-1_SI      EXECUTION EXCEPTION
      JC_TEXT-1_SC       editing host is modified
      JF_TEXT-1_SC       editing host is modified
      JL_TEXT-1_SC       editing host is modified
      JR_TEXT-1_SC       editing host is modified

  * Section AC - Apply Formatting Tests, using styleWithCSS: +5 points
                    before patch:  7/18 (Selection:  5/18)
                     after patch: 12/18 (Selection:  5/18)

      IND_TEXT-1_SI      editing host is modified
      JC_TEXT-1_SC       editing host is modified
      JF_TEXT-1_SC       editing host is modified
      JL_TEXT-1_SC       editing host is modified
      JR_TEXT-1_SC       editing host is modified


** editor/libeditor/html/tests/test_bug414526.html **
This test has been clarified to get more explicit report messages -- the test
themselves haven't been changed. A `todo_is' test has been added.
This test is the one that shows that `IsNodeInActiveEditor' can't be modified,
and that limiting the range promotion for block-level operations is preferrable.
2011-08-23 15:10:14 -04:00
Fabien Cazenave
e60f67e68a Bug 680279 - Splitting Gmail rich-text list with Enter misplaces the caret; r=ehsan
The patch for bug 674861 has introduced a regression.
When a list is splitted, a new paragraph should inserted before the new list.
2011-08-19 18:14:04 -04:00
Ehsan Akhgari
1a870eac6e Backout changeset 46dc0fb0b1cb (bug 674770) because of yet another mochitest-3 Windows failure
--HG--
extra : rebase_source : a0739cd5d2eb66015d785c107151507f8a8113e3
2011-08-18 16:25:11 -04:00
Fabien Cazenave
fd200a56fc Bug 680060 - [queryCommandEnabled] check `GetIsSelectionEditable' results; r=ehsan 2011-08-18 11:34:52 -04:00
Ehsan Akhgari
f53498d5e9 Bug 674770 - contenteditable breaks middle-click to open links when middlemouse.paste=true; r=roc 2011-07-28 17:42:38 -04:00
Jonas Sicking
923d52af7d Bug 667612: Make addEventListener not throw if passed a null listener. r=smaug 2011-08-18 02:45:00 -07:00
Fabien Cazenave
17c25f96ca Bug 674212 - Modifying text of a contenteditable DOM Node removes spellcheck underlinings; r=ehsan 2011-08-17 17:12:46 -04:00
Ehsan Akhgari
08eb4fb344 Bug 318065 followup - Remove the extra finish call from the test
DONTBUILD
2011-08-17 16:40:31 -04:00
Fabien Cazenave
4862d93606 Bug 676401 - The document.queryCommandEnabled API doesn't take the active editing host into account; r=ehsan
* adding an `isSelectionEditable' readonly attribute in <nsIEditor>;
 * modified all ::IsCommandEnabled methods in editor/ to take it into account:

./libeditor/base/nsEditorCommands.cpp (15 commands)
  nsUndoCommand                   'undo'
  nsRedoCommand                   'redo'
  nsClearUndoCommand              'clearUndo'
  nsCutCommand                    'cut'
  nsCutOrDeleteCommand            ?
  nsCopyCommand                   'copy'
  nsCopyOrDeleteCommand           ?
  nsPasteCommand                  'paste'
  nsPasteTransferableCommand      ?
  nsSwitchTextDirectionCommand    ?
  nsDeleteCommand                 'delete'
  nsSelectAllCommand              'selectAll'
  nsSelectionMoveCommands         ?
  nsInsertPlaintextCommand        ?
  nsPasteQuotationCommand         ?

./composer/src/nsComposerCommands.cpp (15 commands)
  nsBaseStateUpdatingCommand      ?
  nsPasteNoFormattingCommand      ?
  nsRemoveListCommand             ?
  nsIndentCommand                 'indent'
  nsOutdentCommand                'outdent'
  nsMultiStateCommand             ?
  nsHighlightColorStateCommand    'hiliteColor'
  nsAbsolutePositioningCommand    ?
  nsDecreaseZIndexCommand         ?
  nsIncreaseZIndexCommand         ?
  nsRemoveStylesCommand           'removeFormat'
  nsIncreaseFontSizeCommand       'increaseFontSize'
  nsDecreaseFontSizeCommand       'decreaseFontSize'
  nsInsertHTMLCommand             'insertHTML'
  nsInsertTagCommand              ?

./composer/src/nsComposerDocumentCommands.cpp (3 commands)
  nsSetDocumentOptionsCommand     ?
  nsSetDocumentStateCommand       ?
  nsDocumentStateCommand          n/a (unpatched)
2011-08-17 13:28:03 -04:00
Graeme McCutcheon
8ded7124eb Bug 318065 - Don't notify editor observers until bogus node state is reset. r=ehsan 2011-08-16 13:55:23 +01:00
Fabien Cazenave
c85fd56970 Bug 456798 — Implement document.queryCommandSupported
Rationale: a command is supported if it can be converted to an internal Midas
command. `nsCommandManager::IsCommandSupported' might not be needed any more.

Corollary: document.queryCommandEnabled should return false on unsupported
commands without raising any exception.

Browserscope tests: +43 points = 258 failed tests...
 * Q section: 0/48 => 42/48
   42 tests used to fail (execution exception), now pass
 * QE section: 36/46 => 37/46
   garbage-1_TEXT-1 used to fail, now passes
In these two sections, a lot of tests that used to raise an exception now return
`false' (that's still a FAIL, but that's not the same kind of FAIL).

Other Browserscope tests are not affected by this patch.
The status of this test suite (currentStatus.js) has been updated accordingly.
2011-08-17 08:04:14 -04:00
Marco Castelluccio
b8fd68e0c6 Bug 612839 - Removed nsAHtml5FragmentParser. r=hsivonen 2011-08-14 10:39:26 -07:00
Vidar Haarr
5869e7ff62 Bug 232691 - Replace nsString emptyString; with EmptyString() in nsHTMLEditRules; r=ehsan 2011-08-13 14:59:48 +02:00
Ms2ger
66ab4757eb Merge m-c to m-i 2011-08-13 14:47:03 +02:00
Malini Das
960a7c7495 Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- new tests. r=jmaher, a=test-only 2011-08-12 12:21:44 -04:00
Malini Das
a0832b693a Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- plain tests 2/2. r=jmaher, a=test-only 2011-08-12 12:21:44 -04:00
Malini Das
e306b1b5aa Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- chrome. r=jmaher, a=test-only 2011-08-12 12:21:36 -04:00
Ms2ger
72dee98c7b Bug 677340 - Return already_AddRefed instead of nsCOMPtr from various functions in editor/; r=ehsan 2011-08-11 15:29:59 +02:00
Ms2ger
d377c55ed2 Bug 677101, part c - Reduce nsIDOMText.h inclusions; r=volkmar 2011-08-11 15:29:58 +02:00
Ms2ger
9414376b01 Bug 677101, part b - Remove nsContentUtils.h includes from headers; r=volkmar 2011-08-11 15:29:50 +02:00
Fabien Cazenave
d46ef85530 Bug 442186 - execCommand justify* fails on first line of contenteditable; r=ehsan
Given the way GetPromotedPoint / IsNodeInActiveEditor are designed, when the
selection is in the first child element of the active editing host the
selection is extended outside of editor node.

As a result, `GetNodesFromSelection' (which is called at the beginning of
`WillAlign') returns two nodes:
1. an empty text node, which is enclosed in a <div style="text-align: ***">;
2. the first child element, which is destroyed when it's a <div>;

Proposed solution:
#1 can be avoided by checking that the node is editable in `WillAlign';
#2 can be avoided by not dropping <div> blocks in `RemoveAlignment'.
This is an opportunity to simplify `RemoveAlignment' a bit.
2011-08-10 19:03:34 -04:00
Graeme McCutcheon
1e5935a446 Bug 483651 - Trailing <br> node not removed when it should be; r=ehsan 2011-08-12 15:53:10 -04:00
arno renevier
2485241198 Bug 338427 - Spellchecker should respect the langi attribute; r=ehsan 2011-08-12 15:12:45 -04:00
Ian Neal
081ca4e9b3 Test for Bug 291780 - List outdent is not working properly r=ehsan 2011-08-10 00:14:58 +01:00
Ian Neal
49689844b3 Test for Bug 290026 - Outdent of List does not work properly r=ehsan 2011-08-10 00:14:53 +01:00
Ehsan Akhgari
6690ac6ddf Merge the latest green changeset on mozilla-inbound to mozilla-central 2011-08-09 08:09:13 -04:00
Jan Varga
5020b003ce Bug 617528 Part 2 - Core implementation r=smaug
--HG--
rename : content/html/content/test/test_bug418756.html => content/html/content/test/test_checked.html
2011-08-08 19:31:32 +02:00
Fabien Cazenave
5dd43c9b97 Bug 674861 - contentEditable lists should not be splittable; r=ehsan
In design mode, pressing [Return] twice in a list (ol, ul, dl) splits the list
and inserts a paragraph. When the list is the active editing host, it should not
be split.
2011-08-02 15:04:43 -04:00
Henri Sivonen
0176915bb7 Bug 596182 - Make fragment parsers global. Remove resulting dead code. r=Olli.Pettay, r=bzbarsky. 2011-08-01 10:48:24 +03:00
Henri Sivonen
147c3287ec Bug 482909 part 2 - Implement an HTML/SVG/MathML sanitizer independently of parsers or serializers. r=bzbarsky. 2011-07-29 14:48:04 +03:00
Michael Wu
6a28121ce1 Bug 671417 - Incorrect use of PRBool when other types are more appropriate or vice versa, r=bz,ehsan,dwitte,joe,vlad,luke,mak,roc 2011-07-26 23:43:37 -07:00
Fabien Cazenave
0999dbd2e1 Bug 620319 - crash [@ nsHTMLEditor::GetInlinePropertyBase] if !aAttribute; r=ehsan
Adds a null check to avoid dereferencing a null pointer.

--HG--
extra : rebase_source : 75b97cafad2318af60956d88d12da51a00224949
2011-07-26 18:09:12 -04:00
Fabien Cazenave
bf28416694 Bug 620283 - crash [@ nsHTMLEditor::RemoveStyleInside] if !aAttribute; r=ehsan
Adds a null check to avoid dereferencing a null pointer.

--HG--
extra : rebase_source : ba8bfcabbc2f17b0b0cea1d90dbed54a8471bad9
2011-07-26 18:08:55 -04:00
Fabien Cazenave
9e280efb90 Bug 460740 - [contentEditable] invalid results when pressing Enter in a bunch of different cases; r=ehsan
In some situations, pressing Enter in a contentEditable node fails:
 * in an editable paragraph, list item or header, pressing Enter
   creates another editable block;
 * in an inline editable node, pressing Enter does nothing.

That's because nsHTMLEditRules::WillInsertBreak doesn't check for the active
editing host. This patch should fix it.
2011-07-26 17:38:23 -04:00
Jonathan Kamens
e4101fc489 Bug 489202 - selection moves to top when html containing meta, link, or style elements is pasted or inserted; r=ehsan 2011-07-26 13:59:50 -04:00
Michael Wu
706be3a5e8 Bug 671185 - Incorrect return of NS_ERROR_* codes in functions returning PRBool, r=mak,ehsan,taras,biesi,pike,khuey,dholbert,josh,bjacob,bsmith 2011-07-25 21:57:58 -07:00
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
Ehsan Akhgari
cadef9ec48 Merge mozilla-central and mozilla-inbound 2011-07-24 12:52:51 -04:00
Joel Maher
344f4a7302 Bug 666654 - split eventutils.js functions that are chrome only into chromeutils.js. r=ted, a=test-only 2011-07-23 09:02:40 -04:00
Ms2ger
2a3176b2ee Bug 666665 - Remove isindex content code; r=sicking+hsivonen 2011-07-23 11:45:38 +02: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
Joel Maher
c3a05191bb Bug 666649 - remove enablePrivilege from various places in the harness and chrome tests. r=ted, a=test-only 2011-07-21 16:21:25 -04:00
Mounir Lamouri
2e1dfaef9e Bug 669310 - Fixes various includes and forward declarations. f=Ms2ger r=jst 2011-07-20 12:18:54 -07:00
Ehsan Akhgari
ee5215c7a6 Revert to changeset e0ce7821fce1 because the latest push broke all of the builds DONTBUILD 2011-07-19 16:25:54 -04:00
Mounir Lamouri
5937d63965 Bug 669310 - Fixes various includes and forward declarations. f=Ms2ger r=jst 2011-07-19 11:22:43 -07:00
Mounir Lamouri
b088e154d6 Backed out bug 669310, bug 668013, bug 667887 and bug 669886 due to build bustage. 2011-07-19 10:49:48 -07:00
Mounir Lamouri
d2f5a3b4c3 Bug 669310 - Fixes various includes and forward declarations. f=Ms2ger r=jst 2011-07-18 17:05:10 -07:00
arno renevier
ba6b969048 Bug 417418 - do not treat context click as double click anymore in editor; r=ehsan 2011-07-18 14:42:56 -04:00
Ehsan Akhgari
13c7a908e4 Backout changeset 65e0d40a57b7 (bug 417418) because of unit test failure 2011-07-18 16:29:22 -04:00
arno renevier
89a10e6166 Bug 417418 - do not treat context click as double click anymore in editor; r=ehsan 2011-07-18 14:42:56 -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
Ms2ger
7a41ef9f3e Bug 670499 - Make nsEditor::CreateEventListeners return void; r=ehsan 2011-07-15 12:18:35 +02: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
Jonas Sicking
5491caaaf4 Bug 661297 Part 1: Remove Add/RemoveEventListenerByIID API. r=smaug 2011-08-08 11:26:26 -07:00
Ehsan Akhgari
c6e514aa14 Bug 549262 - Enable the (shift-)space shortcut key for scrolling up/down in pages containing editable elements; r=roc
--HG--
extra : rebase_source : 99706dd2e678052b345b011ea76f17370ad1a227
2010-09-06 16:59:41 -04: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
Jonas Sicking
cc14f402b6 Bug 663461 Part 1: Remove Add/RemoveEventListenerByIID from editor. r=smaug 2011-06-27 16:34:54 -07:00
Wolfgang Germund
db7ef51c94 Bug 664095 - Remove the override stylesheets when the editor is detached from the document as opposed to when it's destroyed for compatibility with the expected behavior from Composer; r=ehsan 2011-06-24 13:55:43 -04:00
Jonas Sicking
5e5e6bd544 Bug 658714 Part 10: Remove nsIDOM3EventTarget/nsIDOMEventGroup. r=smaug 2011-06-23 19:18:02 -07:00
Jonas Sicking
864793d608 Bug 658714 Part 9: Don't use EventGroups for system-group. r=smaug 2011-06-23 19:18:02 -07:00
Jonas Sicking
26f99e3cdb Bug 658714 Part 7: DeCOMtaminate nsEventListenerManager. r=smaug 2011-06-23 19:18:01 -07:00
Jonas Sicking
6a04ff1d9f Bug 658714 Part 6: Fixups after search'n'replace s/nsPIDOMEventTarget/nsIDOMEventTarget/. r=smaug 2011-06-23 19:18:01 -07:00
Jonas Sicking
e3f6b769a1 Bug 658714 Part 5: Search'n'replace nsPIDOMEventTarget to nsIDOMEventTarget. r=smaug 2011-06-23 19:18:00 -07:00
Jonas Sicking
8fed9108b1 Bug 658714 Part 1: Merge nsPIDOMEventTarget into nsIDOMEventTarget. r=smaug,bent 2011-06-23 19:17:58 -07:00
Ehsan Akhgari
38dc29243c Merge the last green changeset on mozilla-inbound to mozilla-central 2011-06-20 16:06:04 -04:00
Ed Morley
576fc154e6 Bug 665359 - Remove unused variable res from nsHTMLEditor::AddPositioningOffset; r=ehsan
DONTBUILD
2011-06-20 14:53:51 -04:00
Ehsan Akhgari
49d9a2f639 Bug 660199 - Avoid using invalid C++ casts when registering/unregistering editor event listeners; r=roc 2011-06-20 09:55:22 -04:00
Joel Maher
a184675917 Bug 664165 - move editor/libeditor/html/tests/test_contenteditable_text_input_handling.html to mochitest-chrome. r=masayuki, a=test-only 2011-06-19 11:56:44 -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
Matt Brubeck
830f102cc9 Bug 663959 - Mark crashtests as asserting intermittently [r=ehsan] 2011-06-13 14:24:04 -07:00
Joel Maher
5b6fcbed46 Bug 663215 - move test_selection_move_commands.xul to mochitest-chrome. r=roc, a=test-only 2011-06-10 11:11:45 -04:00
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Masayuki Nakano
85c451e309 Bug 660121 Remove all pref related methods from nsContentUtils r=roc 2011-05-29 08:42:57 +09:00
Ms2ger
35e44f908f Bug 659113 - Remove nsIDOMNSHTMLDocument; r=bz 2011-05-28 09:43:57 +02:00
Ehsan Akhgari
01360016f7 Bug 634406 - Don't select past the trailing BR node in text fields when performing the SelectAll operation; r=roc 2011-05-25 16:30:14 -04: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
Masayuki Nakano
49814a538d Bug 659536 part.2 Replace nsContentUtils::GetIntPref() with Preferences::GetInt() or Preferences::GetUint() r=roc 2011-05-25 15:32:00 +09:00
Ms2ger
d823c7ef2c Bug 657210 - Address review comment 2011-05-23 18:54:57 +02:00
Ms2ger
c36c459144 Bug 657210 - Outparamdel nsEditor::GetPresShell; r=ehsan 2011-05-22 14:43:13 +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
3388f3994d Bug 657160 - Remove NS_NewCaret; r=ehsan,roc 2011-05-15 12:17:09 +02:00
Ms2ger
48b02e4f5a Bug 657160 - Remove NS_NewTextEditRules; r=ehsan 2011-05-15 12:16:45 +02:00
Ms2ger
63679730f9 Bug 657160 - Remove NS_NewHTMLEditRules; r=ehsan 2011-05-15 12:15:35 +02:00
Ms2ger
f828b0aa18 Bug 656996 - Remove NS_NewHTMLCSSUtils; r=ehsan 2011-05-15 12:07:30 +02:00
Ms2ger
d5df8a6e33 Bug 655514 - Remove nsIDOMDocumentTraversal; f=ehsan r=jonas 2011-05-15 12:07:30 +02:00
Ehsan Akhgari
15252ef290 Bug 612129 - Set the initial selection range to the beginning of the text field in order to be more compatible with other browsers; r=roc 2011-05-12 09:52:38 -04:00
Masayuki Nakano
9a56e9598d Bug 655918 Clean up the composition string when whole characters of it are refused due to maxlength r=ehsan 2011-05-11 13:52:45 +09:00
Ed Morley
082d53f39b Bug 655756 - Remove final XP_MAC remnants; r=josh 2011-05-10 20:24:48 +02:00
Mounir Lamouri
7211c91c57 Bug 514437 - Content part of the progress element. r=smaug 2011-04-09 10:22:02 -07:00
Matt Brubeck
1b17575132 Back out changeset bfb48178c8ec (finish backing out bug 514437) to fix tests on a CLOSED TREE. 2011-05-09 19:38:05 -07: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
Mounir Lamouri
dd977ba6ef Bug 514437 - Content part of the progress element. r=smaug 2011-04-09 10:22:02 -07:00
Sebastian Kromp
d80897722a Bug 633750 - deCOM nsIHTMLEditRules and move methods to nsHTMLEditRules. r=ehsan 2011-05-07 10:04:56 +02:00
Ed Morley
81db8d5e09 Bug 654737 - Remove WinCE code from editor/*; r=ehsan 2011-05-06 11:05:57 +02:00
Ms2ger
941e819c63 Bug 616684 - Remove support for DOM Views; r=sicking,ehsan 2011-04-24 08:54:25 +02:00
Neil Rashbrook
fefcb1dbbc Bug 647682 Can't copy and paste local links in <editor> documents r=ehsan f=bz 2011-04-28 20:59:45 +01:00
Ehsan Akhgari
d2a61eb331 Backout changeset 13f6847dd840 (bug 616684) because it changes code semantics in a bad way, which results in problems like the crash in bug 652580, possibly among others 2011-04-25 17:05:17 -04:00
Ms2ger
295bf7256b Bug 616684 - Remove support for DOM Views; r=sicking 2011-04-24 08:54:25 +02:00
Mounir Lamouri
db44db0ebe Merge cedar with mozilla-central. 2011-04-22 15:25:11 +02:00
David Zbarsky
5ecf0a2bd3 Bug 610305: decom nsEventStateManager r=smaug 2011-04-21 19:35:52 +02:00
Ehsan Akhgari
540b4161a5 Bug 649797 - Rewrite the test for bug 600570 in a way that doesn't trigger the assertion which can never happen on the web; r=roc
--HG--
extra : rebase_source : 8f21974f360f1e9806a1b7cfefb7d1733513d22f
2011-04-21 10:25:34 -04:00
Mounir Lamouri
b4cf8cd184 Backed out changeset c1a7c1bc1aeb due to busted build. 2011-04-20 22:26:06 +02:00
David Zbarsky
c4d29900ed Bug 610305: decom nsEventStateManager r=smaug 2011-04-20 21:42:33 +02:00
Ehsan Akhgari
680e9b757e Bug 649012 - Fix some flaky mochitests which rely on non-zero timeout values; rs=ted 2011-04-16 19:39:34 -04:00
Ehsan Akhgari
c1e4d5e196 Backed out changeset d407ee4dabcc because it causes some tests to go orange 2011-04-16 23:47:06 -04:00
Ehsan Akhgari
3938fc6c75 Bug 649012 - Fix some flaky mochitests which rely on non-zero timeout values; rs=ted 2011-04-16 19:39:34 -04:00
Ehsan Akhgari
1eafc52dd0 Bug 650083 - nsEditor.cpp:1147: warning: unused variable 'rv'; r=roc 2011-04-14 23:45:24 -04:00
Ehsan Akhgari
f9088e8fe4 Bug 649566 - @keyframe(s) missing from <style> sanitizing code in nsHTMLFragmentContentSink; r=bzbarsky 2011-04-13 18:12:32 -04:00
Ehsan Akhgari
4153f12b55 Bug 617539 - Remove nsIEditor_MOZILLA_2_0_BRANCH; r=roc 2011-04-11 16:00:32 -04:00
Peter Van der Beken
afdf1551f1 Fix for bug 584048 (Clean up cycle collection code) - remove NS_IMPL_CYCLE_COLLECTING_ADDREF_AMBIGUOUS/NS_IMPL_CYCLE_COLLECTING_RELEASE_AMBIGUOUS. r=bent. 2011-03-06 12:11:31 +01:00
Ehsan Akhgari
b4def61223 Bug 646194 - Fix the bound checking when deleting previous words to prevent crashes when the caret is at the beginning of an editable area; r=roc 2011-04-06 11:28:08 -07:00
Sebastian Kromp
c90dd3913b Bug 633066: Remove nsICiter and make nsInternetCiter a static class. r=ehsan 2011-03-31 07:32:13 -04:00
Kyle Huey
29d5f43cb5 Merge m-c to bs. 2011-03-31 07:17:15 -04:00
Ehsan Akhgari
5199d98d91 Bug 645914 - Do not eat the white-space when doing word selection if the eaten whitespace is a newline character and we have been instructed not to jump between lines; r=roc
This fixes a bug in selecting words at the end of lines in textarea's for Windows.
2011-03-30 11:56:48 -04:00
Kyle Huey
75ee2642d1 Merge m-c to bs. 2011-03-26 12:12:37 -04:00
Ehsan Akhgari
b50ffe71b6 Bug 611457 - Move the object which is supposed to survive the function's return out of the function so that a possible garbage collection doesn't collect it before it should be used; r=roc a=test-only 2011-03-12 00:07:37 -05:00
Ehsan Akhgari
b8feac7449 Bug 618041 - Move the object which is supposed to survive the function's return out of the function so that a possible garbage collection doesn't collect it before it should be used; r=roc a=test-only 2011-03-12 00:11:01 -05:00
Ehsan Akhgari
af800fd6a1 Bug 636465 - Reset the spellchecking override status when detaching an editor object from the content node; r,a=roc 2011-03-01 15:04:42 -08:00
Neil Rashbrook
42274702a1 Bug 635420 - Clicking on content within Normal tab of Composer and stops switching to other tabs; r=ehsan a=bsmedberg 2011-02-28 13:04:05 -08:00
Jesse Ruderman
75fe047e55 Add bug number to comment. a=NPOTB DONTBUILD 2011-02-24 13:43:48 -08:00
Ehsan Akhgari
1989a9bf06 Bug 636074 follow-up: move the assertion count adjustment because a test was added in between 2011-02-23 15:28:33 -08:00
Kyle Huey
d50f7a5a54 Bug 636107 - Part 2: Maintain better hygiene by not passing uninitialized pointer values around; r=ehsan a=blocking-final+ 2011-02-23 07:20:58 -05:00
Ehsan Akhgari
bcb0f84a06 Bug 636074 - Part 1: Forget the transaction pointer when creating transaction objects in order to pass it to the caller instead of swapping it with random values; r=roc a=blocking-final+ 2011-02-23 14:22:07 -08:00
Ehsan Akhgari
c6ae64d9aa Bug 635757 - Adjust the assertion count as a result of bug 633738; r=roc a=test
DONTBUILD this simple assertion annotation adjustment!
2011-02-21 23:53:40 -05: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