Name Description Size Coverage
AutoClonedRangeArray.cpp mozilla::AutoClonedRangeArray *************************************************************************** 69725 88 %
AutoClonedRangeArray.h AutoClonedRangeArray stores closed ranges and has similar API to Selection. *************************************************************************** 24884 80 %
AutoSelectionRestorer.cpp 1174 83 %
AutoSelectionRestorer.h Stack based helper class for saving/restoring selection. Note that this assumes that the nodes involved are still around afterwords! 1578 -
ChangeAttributeTransaction.cpp 7423 52 %
ChangeAttributeTransaction.h A transaction that changes an attribute of a content node. This transaction covers add, remove, and change attribute. 3249 67 %
ChangeStyleTransaction.cpp 13474 81 %
ChangeStyleTransaction.h A transaction that changes the value of a CSS inline style of a content node. This transaction covers add, remove, and change a property's value. 4915 67 %
CompositionTransaction.cpp 20663 78 %
CompositionTransaction.h CompositionTransaction stores all edit for a composition, i.e., from compositionstart event to compositionend event. E.g., inserting a composition string, modifying the composition string or its IME selection ranges and commit or cancel the composition. 4442 100 %
crashtests -
CSSEditUtils.cpp 48132 77 %
CSSEditUtils.h Adds/remove a CSS declaration to the STYLE attribute carried by a given element. @param aHTMLEditor [IN] An HTMLEditor instance @param aStyledElement [IN] A DOM styled element. @param aProperty [IN] An atom containing the CSS property to set. @param aValue [IN] A string containing the value of the CSS property. 17086 100 %
DeleteContentTransactionBase.cpp 936 71 %
DeleteContentTransactionBase.h An abstract transaction that removes text or node. 1330 100 %
DeleteMultipleRangesTransaction.cpp 4720 93 %
DeleteMultipleRangesTransaction.h An abstract transaction that removes text or node. 1694 88 %
DeleteNodeTransaction.cpp 6789 72 %
DeleteNodeTransaction.h A transaction that deletes a single element 2305 50 %
DeleteRangeTransaction.cpp 14865 78 %
DeleteRangeTransaction.h A transaction that deletes an entire range in the content tree 5950 100 %
DeleteTextTransaction.cpp 9392 62 %
DeleteTextTransaction.h A transaction that removes text from a content node. 4202 100 %
EditAction.h EditAction indicates which operation or command causes running the methods of editors. 40852 36 %
EditAggregateTransaction.cpp 5155 72 %
EditAggregateTransaction.h base class for all document editing transactions that require aggregation. provides a list of child transactions. 1610 100 %
EditorBase.cpp 295740 79 %
EditorBase.h Implementation of an editor object. it will be the controller/focal point for the main editor services. i.e. the GUIManager, publishing, transaction manager, event interfaces. the idea for the event interfaces is to have them delegate the actual commands to the editor independent of the XPFE implementation. 124854 92 %
EditorCommands.cpp mozilla::EditorCommand **************************************************************************** 38089 73 %
EditorCommands.h EditorCommandParamType tells you that EditorCommand subclasses refer which type in nsCommandParams (e.g., bool or nsString) or do not refer. If they refer some types, also set where is in nsCommandParams, e.g., whether "state_attribute" or "state_data". 36426 78 %
EditorController.cpp 5953 100 %
EditorController.h 901 -
EditorDOMAPIWrapper.h The base class of wrappers of DOM API which modifies the DOM. Editor should update DOM via the following classes unless the node has not been connected to any document yet. 33829 34 %
EditorDOMPoint.h EditorDOMPoint and EditorRawDOMPoint are simple classes which refers a point in the DOM tree at creating the instance or initializing the instance with calling Set(). EditorDOMPoint refers container node (and child node if it's already set) with nsCOMPtr. EditorRawDOMPoint refers them with raw pointer. So, EditorRawDOMPoint is useful when you access the nodes only before changing DOM tree since increasing refcount may appear in micro benchmark if it's in a hot path. On the other hand, if you need to refer them even after changing DOM tree, you must use EditorDOMPoint. When initializing an instance only with child node or offset, the instance starts to refer the child node or offset in the container. In this case, the other information hasn't been initialized due to performance reason. When you retrieve the other information with calling Offset() or GetChild(), the other information is computed with the current DOM tree. Therefore, e.g., in the following case, the other information may be different: EditorDOMPoint pointA(container1, childNode1); EditorDOMPoint pointB(container1, childNode1); (void)pointA.Offset(); // The offset is computed now. container1->RemoveChild(childNode1->GetPreviousSibling()); (void)pointB.Offset(); // Now, pointB.Offset() equals pointA.Offset() - 1 similarly: EditorDOMPoint pointA(container1, 5); EditorDOMPoint pointB(container1, 5); (void)pointA.GetChild(); // The child is computed now. container1->RemoveChild(childNode1->GetFirstChild()); (void)pointB.GetChild(); // Now, pointB.GetChild() equals // pointA.GetChild()->GetPreviousSibling(). So, when you initialize an instance only with one information, you need to be careful when you access the other information after changing the DOM tree. When you need to lock the child node or offset and recompute the other information with new DOM tree, you can use AutoEditorDOMPointOffsetInvalidator and AutoEditorDOMPointChildInvalidator. 75063 80 %
EditorEventListener.cpp for any window 44075 84 %
EditorEventListener.h DetachedFromEditor() returns true if editor was detached. Otherwise, false. 4332 100 %
EditorForwards.h Forward declarations of other modules' **************************************************************************** 8792 -
EditorLineBreak.cpp = nullptr 9102 38 %
EditorLineBreak.h EditorLineBreakBase stores <br> or a preformatted line break position. This cannot represent no line break. Therefore, if a method may not return a line break, they need to use Maybe. **************************************************************************** 18959 93 %
EditorUtils.cpp some general purpose editor utils *************************************************************************** 17710 67 %
EditorUtils.h CaretPoint is a wrapper of EditorDOMPoint and provides a helper method to collapse Selection there, or move it to a local variable. This is typically used as the ok type of Result or a base class of DoSomethingResult classes. **************************************************************************** 20163 99 %
EditTransactionBase.cpp 4235 45 %
EditTransactionBase.h Base class for all document editing transactions. 3588 92 %
gtest 0 %
HTMLAbsPositionEditor.cpp 36191 68 %
HTMLAnonymousNodeEditor.cpp mozilla::ElementDeletionObserver *************************************************************************** 22274 86 %
HTMLEditHelpers.cpp some helper classes for iterating the dom tree *************************************************************************** 6330 96 %
HTMLEditHelpers.h This header declares/defines trivial helper classes which are used by HTMLEditor. If you want to create or look for static utility methods, see HTMLEditUtils.h. 56575 93 %
HTMLEditor.cpp HTMLEditor *************************************************************************** 295370 75 %
HTMLEditor.h The HTML editor implementation.<br> Use to edit HTML document represented as a DOM tree. 218126 88 %
HTMLEditorCommands.cpp mozilla::StateUpdatingCommandBase *************************************************************************** 51408 69 %
HTMLEditorController.cpp 5742 100 %
HTMLEditorController.h mozllla_HTMLEditorController_h__ 788 -
HTMLEditorDataTransfer.cpp 187122 70 %
HTMLEditorDeleteHandler.cpp Return true if aNode does not have meaningful content (e.g., only has non-zero width border) or a line break which is followed by a block boundary. NOTE: This is designed to check deleting meaningless content or not. Thus, this is not declared in HTMLEditUtils nor HTMLEditor to prevent a misuse. 364221 77 %
HTMLEditorDocumentCommands.cpp mozilla::SetDocumentStateCommand Commands for document state that may be changed via doCommandParams As of 11/11/02, this is just "cmd_setDocumentModified" Note that you can use the same command class, SetDocumentStateCommand, for more than one of this type of command We check the input command param for different behavior *************************************************************************** 18754 41 %
HTMLEditorEventListener.cpp 14751 83 %
HTMLEditorEventListener.h Connect() fails if aEditorBase isn't an HTMLEditor instance. 3269 95 %
HTMLEditorInlines.h Logging utils **************************************************************************** 5224 84 %
HTMLEditorInsertLineBreakHandler.cpp 17273 80 %
HTMLEditorInsertParagraphHandler.cpp 95479 78 %
HTMLEditorMutationObserver.cpp DOM mutation logger **************************************************************************** 21588 63 %
HTMLEditorNestedClasses.h AutoInlineStyleSetter is a temporary class to set an inline style to specific nodes. ************************************************************************** 94535 89 %
HTMLEditorObjectResizer.cpp mozilla::HTMLEditor **************************************************************************** 53952 78 %
HTMLEditorState.cpp ListElementSelectionState ************************************************************************** 26819 85 %
HTMLEditSubActionHandler.cpp first some helpful functors we will use ****************************************************** 481514 74 %
HTMLEditUtils.cpp 180752 81 %
HTMLEditUtils.h This header declares/defines static helper methods as members of HTMLEditUtils. If you want to create or look for helper trivial classes for HTMLEditor, see HTMLEditHelpers.h. 144578 83 %
HTMLInlineTableEditor.cpp 19036 60 %
HTMLStyleEditor.cpp 196319 78 %
HTMLTableEditor.cpp Stack based helper class for restoring selection after table edit. 179884 63 %
InsertNodeTransaction.cpp 7507 77 %
InsertNodeTransaction.h A transaction that inserts a single element 3213 75 %
InsertTextTransaction.cpp 8948 58 %
InsertTextTransaction.h A transaction that inserts text into a content node. 4193 85 %
InternetCiter.cpp Mail citations using the Internet style: > This is a citation. 10297 82 %
InternetCiter.h Mail citations using standard Internet style. 825 -
JoinNodesTransaction.cpp 7346 71 %
JoinNodesTransaction.h A transaction that joins two nodes E1 (left node) and E2 (right node) into a single node E. The children of E are the children of E1 followed by the children of E2. After DoTransaction() and RedoTransaction(), E1 is removed from the content tree and E2 remains. 3622 83 %
ManualNAC.h Smart pointer class to own "manual" Native Anonymous Content, and perform the necessary registration and deregistration on the parent element. 3826 94 %
metrics.yaml 2894 -
MoveNodeTransaction.cpp mozilla::MoveNodeTransactionBase **************************************************************************** 13301 55 %
MoveNodeTransaction.h A transaction that moves a content node to a specified point. 9286 66 %
MoveSiblingsTransaction.cpp 16672 54 %
moz.build 3001 -
PendingStyles.cpp mozilla::PendingStyle ***************************************************************** 18736 91 %
PendingStyles.h 12912 100 %
PlaceholderTransaction.cpp 13823 82 %
PlaceholderTransaction.h An aggregate transaction that knows how to absorb all subsequent transactions with the same name. This transaction does not "Do" anything. But it absorbs other transactions via merge, and can undo/redo the transactions it has absorbed. 3400 100 %
ReplaceTextTransaction.cpp 9841 63 %
ReplaceTextTransaction.h Private class for ReplaceTextTransaction when it needs to handle a transaction of `HTMLEditor`. 3984 93 %
SelectionState.cpp mozilla::RangeItem *************************************************************************** 26210 82 %
SelectionState.h A helper struct for saving/setting ranges. 25594 93 %
SplitNodeTransaction.cpp 9136 69 %
SplitNodeTransaction.h A transaction that splits a node into two identical nodes, with the children divided between the new nodes. 3461 80 %
tests -
TextEditor.cpp 49655 79 %
TextEditor.h The text editor implementation. Use to edit text document represented as a DOM tree. 25460 97 %
TextEditorDataTransfer.cpp 9448 85 %
TextEditSubActionHandler.cpp 30486 85 %
WhiteSpaceVisibilityKeeper.cpp 123271 80 %
WhiteSpaceVisibilityKeeper.h WhiteSpaceVisibilityKeeper class helps `HTMLEditor` modifying the DOM tree with keeps white-space sequence visibility automatically. E.g., invisible leading/trailing white-spaces becomes visible, this class members delete them. E.g., when splitting visible-white-space sequence, this class may replace ASCII white-spaces at split edges with NBSPs. 18976 100 %
WSRunScanner.cpp mozilla::WSScanResult **************************************************************************** 51556 76 %
WSRunScanner.h WSScanResult is result of ScanNextVisibleNodeOrBlockBoundaryFrom(), ScanPreviousVisibleNodeOrBlockBoundaryFrom(), and their static wrapper methods. This will have information of found visible content (and its position) or reached block element or topmost editable content at the start of scanner. 76579 78 %
WSRunScannerNestedClasses.cpp = nullptr 66388 74 %