Name Description Size Coverage
AutoClonedRangeArray.cpp mozilla::AutoClonedRangeArray *************************************************************************** 69645 88 %
AutoClonedRangeArray.h AutoClonedRangeArray stores closed ranges and has similar API to Selection. *************************************************************************** 24804 80 %
AutoSelectionRestorer.cpp 1094 83 %
AutoSelectionRestorer.h Stack based helper class for saving/restoring selection. Note that this assumes that the nodes involved are still around afterwords! 1498 -
ChangeAttributeTransaction.cpp 7343 52 %
ChangeAttributeTransaction.h A transaction that changes an attribute of a content node. This transaction covers add, remove, and change attribute. 3169 67 %
ChangeStyleTransaction.cpp 13394 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. 4835 67 %
CompositionTransaction.cpp 20583 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. 4362 100 %
crashtests -
CSSEditUtils.cpp 48052 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. 17006 100 %
DeleteContentTransactionBase.cpp 856 71 %
DeleteContentTransactionBase.h An abstract transaction that removes text or node. 1250 100 %
DeleteMultipleRangesTransaction.cpp 4640 93 %
DeleteMultipleRangesTransaction.h An abstract transaction that removes text or node. 1614 88 %
DeleteNodeTransaction.cpp 6709 72 %
DeleteNodeTransaction.h A transaction that deletes a single element 2225 50 %
DeleteRangeTransaction.cpp 14785 78 %
DeleteRangeTransaction.h A transaction that deletes an entire range in the content tree 5870 100 %
DeleteTextTransaction.cpp 9312 62 %
DeleteTextTransaction.h A transaction that removes text from a content node. 4122 100 %
EditAction.h EditAction indicates which operation or command causes running the methods of editors. 40772 36 %
EditAggregateTransaction.cpp 5075 72 %
EditAggregateTransaction.h base class for all document editing transactions that require aggregation. provides a list of child transactions. 1530 100 %
EditorBase.cpp 295660 78 %
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. 124774 92 %
EditorCommands.cpp mozilla::EditorCommand **************************************************************************** 38009 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". 36346 78 %
EditorController.cpp 5873 100 %
EditorController.h 821 -
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. 33749 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. 74983 80 %
EditorEventListener.cpp for any window 43960 84 %
EditorEventListener.h DetachedFromEditor() returns true if editor was detached. Otherwise, false. 4252 100 %
EditorForwards.h Forward declarations of other modules' **************************************************************************** 8712 -
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. **************************************************************************** 18879 93 %
EditorUtils.cpp some general purpose editor utils *************************************************************************** 17630 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. **************************************************************************** 20083 99 %
EditTransactionBase.cpp 4155 45 %
EditTransactionBase.h Base class for all document editing transactions. 3508 92 %
gtest 0 %
HTMLAbsPositionEditor.cpp 36191 68 %
HTMLAnonymousNodeEditor.cpp mozilla::ElementDeletionObserver *************************************************************************** 22274 85 %
HTMLEditHelpers.cpp some helper classes for iterating the dom tree *************************************************************************** 6250 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. 56495 93 %
HTMLEditor.cpp HTMLEditor *************************************************************************** 295290 75 %
HTMLEditor.h The HTML editor implementation.<br> Use to edit HTML document represented as a DOM tree. 218046 88 %
HTMLEditorCommands.cpp mozilla::StateUpdatingCommandBase *************************************************************************** 51328 69 %
HTMLEditorController.cpp 5662 100 %
HTMLEditorController.h mozllla_HTMLEditorController_h__ 708 -
HTMLEditorDataTransfer.cpp 187007 68 %
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. 363631 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 *************************************************************************** 18674 41 %
HTMLEditorEventListener.cpp 14671 83 %
HTMLEditorEventListener.h Connect() fails if aEditorBase isn't an HTMLEditor instance. 3189 95 %
HTMLEditorInlines.h Logging utils **************************************************************************** 5144 84 %
HTMLEditorInsertLineBreakHandler.cpp 17158 80 %
HTMLEditorInsertParagraphHandler.cpp 95364 78 %
HTMLEditorMutationObserver.cpp DOM mutation logger **************************************************************************** 21508 63 %
HTMLEditorNestedClasses.h AutoInlineStyleSetter is a temporary class to set an inline style to specific nodes. ************************************************************************** 94246 89 %
HTMLEditorObjectResizer.cpp mozilla::HTMLEditor **************************************************************************** 53872 78 %
HTMLEditorState.cpp ListElementSelectionState ************************************************************************** 26704 85 %
HTMLEditSubActionHandler.cpp first some helpful functors we will use ****************************************************** 481399 74 %
HTMLEditUtils.cpp 180678 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. 144498 83 %
HTMLInlineTableEditor.cpp 19036 60 %
HTMLStyleEditor.cpp 196239 78 %
HTMLTableEditor.cpp Stack based helper class for restoring selection after table edit. 179804 63 %
InsertNodeTransaction.cpp 7427 77 %
InsertNodeTransaction.h A transaction that inserts a single element 3133 75 %
InsertTextTransaction.cpp 8868 58 %
InsertTextTransaction.h A transaction that inserts text into a content node. 4113 85 %
InternetCiter.cpp Mail citations using the Internet style: > This is a citation. 10217 82 %
InternetCiter.h Mail citations using standard Internet style. 745 -
JoinNodesTransaction.cpp 7266 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. 3542 83 %
ManualNAC.h Smart pointer class to own "manual" Native Anonymous Content, and perform the necessary registration and deregistration on the parent element. 3746 94 %
metrics.yaml 2894 -
MoveNodeTransaction.cpp mozilla::MoveNodeTransactionBase **************************************************************************** 13221 55 %
MoveNodeTransaction.h A transaction that moves a content node to a specified point. 9206 66 %
MoveSiblingsTransaction.cpp 16592 54 %
moz.build 2912 -
PendingStyles.cpp mozilla::PendingStyle ***************************************************************** 18656 91 %
PendingStyles.h 12832 100 %
PlaceholderTransaction.cpp 13743 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. 3320 100 %
ReplaceTextTransaction.cpp 9761 63 %
ReplaceTextTransaction.h Private class for ReplaceTextTransaction when it needs to handle a transaction of `HTMLEditor`. 3904 93 %
SelectionState.cpp mozilla::RangeItem *************************************************************************** 26130 82 %
SelectionState.h A helper struct for saving/setting ranges. 25514 93 %
SplitNodeTransaction.cpp 9056 69 %
SplitNodeTransaction.h A transaction that splits a node into two identical nodes, with the children divided between the new nodes. 3381 80 %
tests -
TextEditor.cpp 49575 78 %
TextEditor.h The text editor implementation. Use to edit text document represented as a DOM tree. 25380 97 %
TextEditorDataTransfer.cpp 9368 85 %
TextEditSubActionHandler.cpp 30406 85 %
WhiteSpaceVisibilityKeeper.cpp 123191 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. 18896 100 %
WSRunScanner.cpp mozilla::WSScanResult **************************************************************************** 51476 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. 76499 78 %
WSRunScannerNestedClasses.cpp = nullptr 66308 74 %