gecko-dev/editor/libeditor
Masayuki Nakano 98a833407e Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato
TextEditor::DeleteSelectionAsAction() is called even if it's a part of edit
action.  For example, it's called to prepare for inserting text.

For bug 1465702, editor itself and edit rules classes should not call
public DeleteSelectionAsAction() directly.  Therefore, this patch creates
DeleteSelectionAsSubAction() for internal use.

Note that this patch adds NS_ASSERTION() to detect wrong caller.  However,
it cannot distinguish if the call is valid, for example, it's allowed to
call DeleteSelectionAsSelection() even if it's handling an edit action but
the method is called via mutation event listener.  So, we need to allow
some assertions with some tests.  But unfortunately, 1405747.html uses
mutation event listener too many times (about 1,000 times) and the number
of assertion isn't stable.  Therefore, this patch makes the test stop using
the mutation event listener 2nd time since I can reproduce the crash with
ESR 52 at the 2nd time.

MozReview-Commit-ID: 1TWaypmnoCC

--HG--
extra : rebase_source : a6a4fb1cbcaf2ab6f10c5f3e7168a6bc0fcb02ed
2018-06-29 20:16:50 +09:00
..
crashtests Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
tests Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
ChangeAttributeTransaction.cpp Bug 1379891 - remove nsPIEditorTransaction interface, GetTxnDescription methods. r=m_kato,masayuki 2018-01-14 16:01:41 +01:00
ChangeAttributeTransaction.h Bug 1425412 - part 9: Create factory methods of ChangeAttributeTransaction and remove EditorBase::CreateTxnForSetAttribute() and EditorBase::CreateTxnForRemoveAttribute() r=m_kato 2017-12-18 17:07:52 +09:00
ChangeStyleTransaction.cpp Bug 1408301: Remove getPropertyCSSValue. r=bz 2018-05-12 11:23:47 +02:00
ChangeStyleTransaction.h Bug 1425412 - part 11: Create factory methods for ChangeStyleTransaction and remove CSSEditUtils::CreateCSSPropertyTxn() r=m_kato 2017-12-18 17:46:57 +09:00
CompositionTransaction.cpp Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz 2018-05-21 16:33:18 -07:00
CompositionTransaction.h Bug 1425412 - part 4: Create CompositionTransaction::Create() and remove EditorBase::CreateTxnForComposition() r=m_kato 2017-12-15 18:26:37 +09:00
CreateElementTransaction.cpp Bug 1463981 part 3. Remove nsIDOMNode usage in editor. r=masayuki 2018-05-24 13:18:34 -04:00
CreateElementTransaction.h Bug 1447213 - Change editor methods which take |const EditorRawDOMPoint&| but called with EditorDOMPoint.AsRaw() to template methods r=m_kato 2018-03-20 14:05:47 +09:00
CSSEditUtils.cpp Bug 1467722: Don't return null for getComputedStyle when there's no pres shell. r=heycam 2018-06-19 11:47:16 +02:00
CSSEditUtils.h Bug 1408301: Remove getPropertyCSSValue. r=bz 2018-05-12 11:23:47 +02:00
DeleteNodeTransaction.cpp Bug 1379891 - remove nsPIEditorTransaction interface, GetTxnDescription methods. r=m_kato,masayuki 2018-01-14 16:01:41 +01:00
DeleteNodeTransaction.h Bug 1425412 - part 6: Create DeleteNodeTransaction::MaybeCreate() and remove EditorBaseTransaction::CreateTxnForDeleteNode() r=m_kato 2017-12-15 21:24:33 +09:00
DeleteRangeTransaction.cpp Bug 1454241: Remove nsINode::eDATA_NODE. r=bz 2018-04-20 03:58:00 +02:00
DeleteRangeTransaction.h Bug 1425412 - part 12: Create factory methods for DeleteRangeTransaction, EditAggregateTransaction and PlaceholderTransaction for consistency with the other transaction classes r=m_kato 2017-12-18 18:08:43 +09:00
DeleteTextTransaction.cpp Bug 1446533 part 7. Remove nsIDOMCharacterData::InsertData. r=mystor 2018-03-19 15:38:04 -04:00
DeleteTextTransaction.h Bug 1446533 part 2. Rename nsGenericDOMDataNode.{h,cpp} to CharacterData. r=mystor 2018-03-19 15:18:07 -04:00
EditAction.h Bug 1463985 - part 27: Replace EditSubAction::ignore with EditSubAction::eReplaceHeadWithHTMLSource and EditSubAction::eCreateBogusNode r=m_kato 2018-05-29 00:06:24 +09:00
EditActionListener.h
EditAggregateTransaction.cpp Bug 1379891 - remove nsPIEditorTransaction interface, GetTxnDescription methods. r=m_kato,masayuki 2018-01-14 16:01:41 +01:00
EditAggregateTransaction.h Bug 1425412 - part 12: Create factory methods for DeleteRangeTransaction, EditAggregateTransaction and PlaceholderTransaction for consistency with the other transaction classes r=m_kato 2017-12-18 18:08:43 +09:00
EditorBase.cpp Bug 1470361: Remove nsIEditorStyleSheets.addStyleSheet / removeStyleSheet / replaceStyleSheet. r=m_kato 2018-06-25 10:46:38 +02:00
EditorBase.h Bug 1470361: Remove nsIEditorStyleSheets.addStyleSheet / removeStyleSheet / replaceStyleSheet. r=m_kato 2018-06-25 10:46:38 +02:00
EditorCommands.cpp Bug 1467693 - Merge EditorBase::SwitchTextDirection() and EditorBase::SwitchTextDirectionTo() r=m_kato 2018-06-07 23:26:59 +09:00
EditorCommands.h
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1465478: Introduce Element::FromNode. r=smaug 2018-05-31 02:46:10 +02:00
EditorEventListener.cpp Bug 1467670 - Devirtualize InsertFromDrop. r=masayuki 2018-06-08 05:19:51 +00:00
EditorEventListener.h Bug 1455052 part 6. Stop using nsIDOMEvent in editor code. r=masayuki 2018-04-20 12:53:17 -04:00
EditorUtils.cpp Bug 1451972 - Remove more nsIDOMDocument usages from editor. r=masayuki 2018-04-06 14:53:05 +09:00
EditorUtils.h Merge mozilla-inbound to mozilla-central. a=merge 2018-05-31 13:04:21 +03:00
EditorUtils.js Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8 2018-04-22 20:55:06 -07:00
EditorUtils.manifest
EditTransactionBase.cpp Bug 1379891 - remove nsPIEditorTransaction interface, GetTxnDescription methods. r=m_kato,masayuki 2018-01-14 16:01:41 +01:00
EditTransactionBase.h Bug 1379891 - remove nsPIEditorTransaction interface, GetTxnDescription methods. r=m_kato,masayuki 2018-01-14 16:01:41 +01:00
HTMLAbsPositionEditor.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
HTMLAnonymousNodeEditor.cpp Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj 2018-06-01 17:59:07 +02:00
HTMLEditor.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
HTMLEditor.h Bug 1471115 - Remove unused methods in nsIHTMLEditor. r=masayuki 2018-06-26 04:29:36 +00:00
HTMLEditorCommands.cpp Bug 1468708 - Part 6. Move HTMLEditorCommands and HTMLEditorController to libeditor. r=masayuki 2018-06-13 14:49:06 -07:00
HTMLEditorCommands.h Bug 1468708 - Part 6. Move HTMLEditorCommands and HTMLEditorController to libeditor. r=masayuki 2018-06-13 14:49:06 -07:00
HTMLEditorController.cpp Bug 1468708 - Part 6. Move HTMLEditorCommands and HTMLEditorController to libeditor. r=masayuki 2018-06-13 14:49:06 -07:00
HTMLEditorController.h Bug 1468708 - Part 6. Move HTMLEditorCommands and HTMLEditorController to libeditor. r=masayuki 2018-06-13 14:49:06 -07:00
HTMLEditorDataTransfer.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
HTMLEditorDocumentCommands.cpp Bug 1468708 - Part 6. Move HTMLEditorCommands and HTMLEditorController to libeditor. r=masayuki 2018-06-13 14:49:06 -07:00
HTMLEditorEventListener.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04:00
HTMLEditorEventListener.h Bug 1446711 part 8. Get rid of nsIDOMMouseEvent. r=qdot 2018-03-20 00:16:07 -04:00
HTMLEditorObjectResizer.cpp Bug 1405897 - Move assertion before setting resizer attribute. r=masayuki 2018-06-29 04:47:21 +00:00
HTMLEditorObjectResizerUtils.h Bug 1433345 - part 4: Make EditorBase derived from nsISelectionListener and notify its owning classes of selection change r=m_kato 2018-01-26 17:25:45 +09:00
HTMLEditRules.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
HTMLEditRules.h Bug 1471115 - Remove unused methods in nsIHTMLEditor. r=masayuki 2018-06-26 04:29:36 +00:00
HTMLEditUtils.cpp Bug 1463981 part 3. Remove nsIDOMNode usage in editor. r=masayuki 2018-05-24 13:18:34 -04:00
HTMLEditUtils.h Bug 1463981 part 3. Remove nsIDOMNode usage in editor. r=masayuki 2018-05-24 13:18:34 -04:00
HTMLInlineTableEditor.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
HTMLStyleEditor.cpp Bug 1463985 - part 24: Rename EditSubAction::resetTextProperties to EditSubAction::eRemoveAllTextProperties r=m_kato 2018-05-28 23:40:45 +09:00
HTMLTableEditor.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
HTMLURIRefObject.cpp Bug 1463981 part 2. Remove use of nsIDOMNode in editor xpidl. r=masayuki 2018-05-24 13:18:34 -04:00
HTMLURIRefObject.h Bug 1463981 part 2. Remove use of nsIDOMNode in editor xpidl. r=masayuki 2018-05-24 13:18:34 -04:00
InsertNodeTransaction.cpp Bug 1463981 part 3. Remove nsIDOMNode usage in editor. r=masayuki 2018-05-24 13:18:34 -04:00
InsertNodeTransaction.h Bug 1447213 - Change editor methods which take |const EditorRawDOMPoint&| but called with EditorDOMPoint.AsRaw() to template methods r=m_kato 2018-03-20 14:05:47 +09:00
InsertTextTransaction.cpp Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz 2018-05-21 16:33:18 -07:00
InsertTextTransaction.h Bug 1425412 - part 1: Create InsertTextTransaction::Create() and remove EditorBase::CreateTxnForInsertText() r=m_kato 2017-12-15 17:26:52 +09:00
InternetCiter.cpp Bug 1424898 - patch 2 - De-virtualize nsIWordBreaker and rename to mozilla::intl::WordBreaker. r=m_kato 2017-12-13 22:17:38 -06:00
InternetCiter.h
JoinNodeTransaction.cpp Bug 1451672 - part 6: Rename EditorBase::JoinNodesImpl() to EditorBase::DoJoinNodes() r=m_kato 2018-04-10 03:56:46 +09:00
JoinNodeTransaction.h Bug 1425412 - part 8: Create JoinNodeTransaction::MaybeCreate() and remove EditorBase::CreateTxnForJoinNode() r=m_kato 2017-12-15 21:53:08 +09:00
ManualNAC.h
moz.build Bug 1470361: Remove nsIEditorStyleSheets.addStyleSheet / removeStyleSheet / replaceStyleSheet. r=m_kato 2018-06-25 10:46:38 +02:00
nsIAbsorbingTransaction.h
PlaceholderTransaction.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
PlaceholderTransaction.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SelectionState.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
SelectionState.h Bug 1451672 - part 16: Rename EditorBase::MoveNode() to EditorBase::MoveNodeWithTransaction() and create EditorBase::MoveNodeToEndWithTransaction() r=m_kato 2018-04-12 23:58:52 +09:00
SplitNodeTransaction.cpp Bug 1463981 part 3. Remove nsIDOMNode usage in editor. r=masayuki 2018-05-24 13:18:34 -04:00
SplitNodeTransaction.h Bug 1447213 - Change editor methods which take |const EditorRawDOMPoint&| but called with EditorDOMPoint.AsRaw() to template methods r=m_kato 2018-03-20 14:05:47 +09:00
TextEditor.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
TextEditor.h Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
TextEditorDataTransfer.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
TextEditorTest.cpp Bug 1387143 part 3. Stop using nsISelection in nsISelectionController. r=mats 2018-05-08 13:52:36 -04:00
TextEditorTest.h
TextEditRules.cpp Bug 1467794 - Split TextEditor::DeleteSelectionAsAction() to itself and TextEditor::DeleteSelectionAsSubAction() r=m_kato 2018-06-29 20:16:50 +09:00
TextEditRules.h Bug 1463985 - part 19: Rename EditSubAction::removeList to EditSubAction::eRemoveList r=m_kato 2018-05-28 23:05:00 +09:00
TextEditRulesBidi.cpp Bug 1457083 - part 6: Get rid of unnecessary Selection argument from all protected/private methods of TextEditRules and HTMLEditRules r=m_kato 2018-05-10 15:03:21 +09:00
TextEditUtils.cpp Bug 1449147 - Clean up more nsIDOMNode usages in editor. r=masayuki 2018-03-27 20:19:35 +09:00
TextEditUtils.h Bug 1449147 - Clean up more nsIDOMNode usages in editor. r=masayuki 2018-03-27 20:19:35 +09:00
TypeInState.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04:00
TypeInState.h Bug 1445569 - part 4: Get rid of EditorBase::GetStartNodeAndOffset() and EditorBase::GetEndNodeAndOffset() r=m_kato 2018-03-15 21:25:41 +09:00
WSRunObject.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
WSRunObject.h Bug 1451672 - part 13: Rename EditorBase::InsertTextImpl() and EditorBase::InsertTextIntoTextNodeImpl() to EditorBase::InsertTextWithTransaction() and EditorBase::InsertTextIntoTextNodeWithTransaction() r=m_kato 2018-04-12 17:58:14 +09:00