Name Description Size Coverage CI issues
AutoClonedRangeArray.cpp mozilla::AutoClonedRangeArray *************************************************************************** 74555 88 %
AutoClonedRangeArray.h AutoClonedRangeArray stores closed ranges and has similar API to Selection. *************************************************************************** 25794 81 %
AutoSelectionRestorer.cpp 1094 85 %
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 51 %
ChangeAttributeTransaction.h A transaction that changes an attribute of a content node. This transaction covers add, remove, and change attribute. 3169 75 %
ChangeStyleTransaction.cpp 13394 80 %
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 75 %
CompositionTransaction.cpp 22276 79 %
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. 5017 100 %
crashtests -
CSSEditUtils.cpp 48067 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 75 %
DeleteContentTransactionBase.h An abstract transaction that removes text or node. 1250 100 %
DeleteMultipleRangesTransaction.cpp 4640 84 %
DeleteMultipleRangesTransaction.h An abstract transaction that removes text or node. 1581 88 %
DeleteNodeTransaction.cpp 6709 69 %
DeleteNodeTransaction.h A transaction that deletes a single element 2225 60 %
DeleteRangeTransaction.cpp 12674 74 %
DeleteRangeTransaction.h A transaction that deletes an entire range in the content tree 5136 100 %
DeleteTextTransaction.cpp 9294 60 %
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 62 %
EditAggregateTransaction.h base class for all document editing transactions that require aggregation. provides a list of child transactions. 1530 100 %
EditorBase.cpp 316721 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. 129380 93 %
EditorCommands.cpp mozilla::EditorCommand **************************************************************************** 40139 74 %
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". 36628 78 %
EditorController.cpp 6485 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. 33801 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. 75033 80 %
EditorEventListener.cpp for any window 42642 84 %
EditorEventListener.h DetachedFromEditor() returns true if editor was detached. Otherwise, false. 4197 100 %
EditorForwards.h Forward declarations of other modules' **************************************************************************** 8712 -
EditorLineBreak.cpp = nullptr 9022 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. **************************************************************************** 19032 91 %
EditorUtils.cpp some general purpose editor utils *************************************************************************** 17813 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. **************************************************************************** 20100 99 %
EditTransactionBase.cpp 4155 44 %
EditTransactionBase.h Base class for all document editing transactions. 3508 93 %
gtest 91 %
HTMLAbsPositionEditor.cpp 36331 68 %
HTMLAnonymousNodeEditor.cpp mozilla::ElementDeletionObserver *************************************************************************** 24681 85 %
HTMLEditHelpers.cpp some helper classes for iterating the dom tree *************************************************************************** 6342 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. 56522 93 %
HTMLEditor.cpp HTMLEditor *************************************************************************** 299489 76 %
HTMLEditor.h The HTML editor implementation.<br> Use to edit HTML document represented as a DOM tree. 218656 88 %
HTMLEditorCommands.cpp mozilla::StateUpdatingCommandBase *************************************************************************** 49836 70 %
HTMLEditorController.cpp 5572 100 %
HTMLEditorController.h mozllla_HTMLEditorController_h__ 708 -
HTMLEditorDataTransfer.cpp 189638 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. 367011 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 14681 81 %
HTMLEditorEventListener.h Connect() fails if aEditorBase isn't an HTMLEditor instance. 3189 95 %
HTMLEditorInlines.h Logging utils **************************************************************************** 5156 84 %
HTMLEditorInsertLineBreakHandler.cpp 17281 79 %
HTMLEditorInsertParagraphHandler.cpp 95508 78 %
HTMLEditorMutationObserver.cpp DOM mutation logger **************************************************************************** 21955 57 %
HTMLEditorNestedClasses.h AutoInlineStyleSetter is a temporary class to set an inline style to specific nodes. ************************************************************************** 94318 89 %
HTMLEditorObjectResizer.cpp mozilla::HTMLEditor **************************************************************************** 54456 78 %
HTMLEditorState.cpp ListElementSelectionState ************************************************************************** 26717 70 %
HTMLEditSubActionHandler.cpp first some helpful functors we will use ****************************************************** 484692 74 %
HTMLEditUtils.cpp 180132 84 %
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. 144250 90 %
HTMLInlineTableEditor.cpp 19224 60 %
HTMLStyleEditor.cpp 196185 79 %
HTMLTableEditor.cpp Stack based helper class for restoring selection after table edit. 179916 63 %
InsertNodeTransaction.cpp 7427 75 %
InsertNodeTransaction.h A transaction that inserts a single element 3133 78 %
InsertTextTransaction.cpp 8821 54 %
InsertTextTransaction.h A transaction that inserts text into a content node. 4113 87 %
InternetCiter.cpp Mail citations using the Internet style: > This is a citation. 13054 95 %
InternetCiter.h Mail citations using standard Internet style. 2174 -
JoinNodesTransaction.cpp 7266 70 %
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 85 %
ManualNAC.h Smart pointer class to own "manual" Native Anonymous Content, and perform the necessary registration and deregistration on the parent element. 4568 95 %
MoveNodeTransaction.cpp mozilla::MoveNodeTransactionBase **************************************************************************** 13221 56 %
MoveNodeTransaction.h A transaction that moves a content node to a specified point. 9206 68 %
MoveSiblingsTransaction.cpp 16592 55 %
moz.build 4009 -
PendingStyles.cpp mozilla::PendingStyle ***************************************************************** 18732 91 %
PendingStyles.h 12832 100 %
PlaceholderTransaction.cpp 13736 72 %
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 9628 63 %
ReplaceTextTransaction.h Private class for ReplaceTextTransaction when it needs to handle a transaction of `HTMLEditor`. 3904 94 %
SelectionState.cpp mozilla::RangeItem *************************************************************************** 26150 83 %
SelectionState.h A helper struct for saving/setting ranges. 25560 93 %
SplitNodeTransaction.cpp 9056 70 %
SplitNodeTransaction.h A transaction that splits a node into two identical nodes, with the children divided between the new nodes. 3381 83 %
<1%tests -
TextEditor.cpp 50246 79 %
TextEditor.h The text editor implementation. Use to edit text document represented as a DOM tree. 25493 97 %
TextEditorDataTransfer.cpp 9835 83 %
TextEditSubActionHandler.cpp 30705 85 %
WhiteSpaceVisibilityKeeper.cpp 122222 82 %
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. 18366 100 %
WSRunScanner.cpp mozilla::WSScanResult **************************************************************************** 51487 83 %
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. 77741 78 %
WSRunScannerNestedClasses.cpp = nullptr 66308 76 %