gecko-dev/editor/libeditor
Kris Maglione 8340513b0c Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz
Using concrete class types with static IIDs in QueryInterface methods is a
pretty common pattern which isn't supported by any existing helper macros.
That's lead to separate ad-hoc implementations, with varying degrees of
dodginess, being scattered around the tree.

This patch adds a helper macro with a canonical (and safe) implementation, and
updates existing ad-hoc users to use it.

MozReview-Commit-ID: HaTGF7MN5Cv

--HG--
extra : rebase_source : ace930129d85960d22bc3048ca3bb19bbbd4a63e
extra : histedit_source : 03a87f746d957789d41381e4e1bfcc4fd7eebaf2%2C9c5bae9feeeef7721105db67be0f83e0ded66bb7
2018-05-21 16:33:18 -07:00
..
crashtests Bug 1423767 - Splitting node might be orphan. r=masayuki 2018-05-16 16:54:20 +09:00
tests Bug 1387143 part 5. Remove JS use of nsISelectionPrivate. r=mats 2018-05-08 13:52:36 -04:00
ChangeAttributeTransaction.cpp
ChangeAttributeTransaction.h
ChangeStyleTransaction.cpp Bug 1408301: Remove getPropertyCSSValue. r=bz 2018-05-12 11:23:47 +02:00
ChangeStyleTransaction.h
CompositionTransaction.cpp Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz 2018-05-21 16:33:18 -07:00
CompositionTransaction.h
CreateElementTransaction.cpp
CreateElementTransaction.h
CSSEditUtils.cpp Bug 1408301: Remove getPropertyCSSValue. r=bz 2018-05-12 11:23:47 +02:00
CSSEditUtils.h Bug 1408301: Remove getPropertyCSSValue. r=bz 2018-05-12 11:23:47 +02:00
DeleteNodeTransaction.cpp
DeleteNodeTransaction.h
DeleteRangeTransaction.cpp Bug 1454241: Remove nsINode::eDATA_NODE. r=bz 2018-04-20 03:58:00 +02:00
DeleteRangeTransaction.h
DeleteTextTransaction.cpp
DeleteTextTransaction.h
EditAction.h
EditActionListener.h
EditAggregateTransaction.cpp
EditAggregateTransaction.h
EditorBase.cpp Bug 1457083 - part 2: Make all observer methods of HTMLEditRules create AutoSafeEditorData r=m_kato 2018-04-26 23:27:50 +09:00
EditorBase.h Bug 1457083 - part 1: Make public methods of TextEditUtils and HTMLEditUtils guarantee that the editor instance and selection instance won't be destroyed while it handles any edit actions r=m_kato 2018-04-26 22:41:34 +09:00
EditorCommands.cpp Bug 1387143 part 23. Remove nsISelection collapse* methods. r=mats 2018-05-08 13:52:41 -04:00
EditorCommands.h
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1454126 - HTMLEditor should adjust selection outside native anonymous subtree when it inserts something at selection r=m_kato 2018-04-17 17:01:57 +09:00
EditorEventListener.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04: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
EditorUtils.h Bug 1451672 - part 3: Rename EditorBase::SplitNode() and related methods to ending with "WithTransaction" r=m_kato 2018-04-10 02:16:49 +09: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
EditTransactionBase.h
HTMLAbsPositionEditor.cpp Bug 1457083 - part 1: Make public methods of TextEditUtils and HTMLEditUtils guarantee that the editor instance and selection instance won't be destroyed while it handles any edit actions r=m_kato 2018-04-26 22:41:34 +09:00
HTMLAnonymousNodeEditor.cpp Merge mozilla-inbound to mozilla-central. a=merge 2018-05-16 00:54:22 +03:00
HTMLEditor.cpp Bug 1459529: Remove UPDATE_STYLE. r=heycam 2018-05-15 18:44:29 +02:00
HTMLEditor.h Bug 1457083 - part 1: Make public methods of TextEditUtils and HTMLEditUtils guarantee that the editor instance and selection instance won't be destroyed while it handles any edit actions r=m_kato 2018-04-26 22:41:34 +09:00
HTMLEditorDataTransfer.cpp Bug 1462964: Remove obsolete nsIDOMBlob interface. r=bz 2018-05-21 17:32:44 -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
HTMLEditorObjectResizer.cpp Bug 1387143 part 29. Remove nsISelection. r=mats 2018-05-08 13:52:42 -04:00
HTMLEditorObjectResizerUtils.h
HTMLEditRules.cpp Bug 1457083 - part 7: Remove methods of TextEditRules and HTMLEditRules, which just return NS_OK r=m_kato 2018-05-10 16:04:06 +09:00
HTMLEditRules.h Bug 1457083 - part 7: Remove methods of TextEditRules and HTMLEditRules, which just return NS_OK r=m_kato 2018-05-10 16:04:06 +09:00
HTMLEditUtils.cpp Bug 1457813 - Part 3: Remove NS_PRECONDITION definition. r=froydnj 2018-05-08 22:21:22 -07:00
HTMLEditUtils.h
HTMLInlineTableEditor.cpp Bug 1429903 part 4. Remove nsIDOMEventTarget. r=mccr8 2018-04-20 00:49:30 -04:00
HTMLStyleEditor.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04:00
HTMLTableEditor.cpp Bug 1377980 part 1. Remove use of nsIDOMRange in xpidl. r=mcc8 2018-05-17 12:01:37 -04:00
HTMLURIRefObject.cpp
HTMLURIRefObject.h
InsertNodeTransaction.cpp
InsertNodeTransaction.h
InsertTextTransaction.cpp Bug 1463287: Add QueryInterface helper macro for concrete class types. r=bz 2018-05-21 16:33:18 -07:00
InsertTextTransaction.h
InternetCiter.cpp
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
ManualNAC.h
moz.build
nsIAbsorbingTransaction.h
PlaceholderTransaction.cpp
PlaceholderTransaction.h
SelectionState.cpp
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 1451672 - part 6: Rename EditorBase::JoinNodesImpl() to EditorBase::DoJoinNodes() r=m_kato 2018-04-10 03:56:46 +09:00
SplitNodeTransaction.h
StyleSheetTransactions.cpp Bug 1459529: Remove UPDATE_STYLE. r=heycam 2018-05-15 18:44:29 +02:00
StyleSheetTransactions.h
TextEditor.cpp Bug 1457083 - part 2: Make all observer methods of HTMLEditRules create AutoSafeEditorData r=m_kato 2018-04-26 23:27:50 +09:00
TextEditor.h Bug 1456377 - Move composition event handlers from EditorBase to TextEditor r=m_kato 2018-04-19 00:31:51 +09:00
TextEditorDataTransfer.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04: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 1457083 - part 7: Remove methods of TextEditRules and HTMLEditRules, which just return NS_OK r=m_kato 2018-05-10 16:04:06 +09:00
TextEditRules.h Bug 1457083 - part 7: Remove methods of TextEditRules and HTMLEditRules, which just return NS_OK r=m_kato 2018-05-10 16:04:06 +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
TextEditUtils.h
TypeInState.cpp Bug 1387143 part 22. Remove nsISelection isCollapsed/collapsed bits. r=mats 2018-05-08 13:52:39 -04:00
TypeInState.h
WSRunObject.cpp Bug 1451672 - part 19: Remove TextEditor::CreateBR() and rename TextEditor::CreateBRImpl() to TextEditor::InsertBrElementWithTransaction() r=m_kato 2018-04-16 19:21:29 +09: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