diff --git a/editor/libeditor/nsEditorUtils.cpp b/editor/libeditor/nsEditorUtils.cpp index 3e7433dd2856..b0047a518e46 100644 --- a/editor/libeditor/nsEditorUtils.cpp +++ b/editor/libeditor/nsEditorUtils.cpp @@ -92,7 +92,7 @@ nsDOMIterator::~nsDOMIterator() } void -nsDOMIterator::AppendList(nsBoolDomIterFunctor& functor, +nsDOMIterator::AppendList(const nsBoolDomIterFunctor& functor, nsTArray>& arrayOfNodes) const { // Iterate through dom and build list @@ -106,7 +106,7 @@ nsDOMIterator::AppendList(nsBoolDomIterFunctor& functor, } void -nsDOMIterator::AppendList(nsBoolDomIterFunctor& functor, +nsDOMIterator::AppendList(const nsBoolDomIterFunctor& functor, nsCOMArray& arrayOfNodes) const { // iterate through dom and build list diff --git a/editor/libeditor/nsEditorUtils.h b/editor/libeditor/nsEditorUtils.h index e76c3f064251..c35287c0a1df 100644 --- a/editor/libeditor/nsEditorUtils.h +++ b/editor/libeditor/nsEditorUtils.h @@ -167,8 +167,8 @@ class MOZ_STACK_CLASS nsAutoUpdateViewBatch class nsBoolDomIterFunctor { public: - virtual bool operator()(nsIDOMNode* aNode)=0; - bool operator()(nsINode* aNode) + virtual bool operator()(nsIDOMNode* aNode) const = 0; + bool operator()(nsINode* aNode) const { return operator()(GetAsDOMNode(aNode)); } @@ -181,9 +181,9 @@ class MOZ_STACK_CLASS nsDOMIterator explicit nsDOMIterator(nsIDOMNode& aNode); virtual ~nsDOMIterator(); - void AppendList(nsBoolDomIterFunctor& functor, + void AppendList(const nsBoolDomIterFunctor& functor, nsTArray>& arrayOfNodes) const; - void AppendList(nsBoolDomIterFunctor& functor, + void AppendList(const nsBoolDomIterFunctor& functor, nsCOMArray& arrayOfNodes) const; protected: nsCOMPtr mIter; @@ -202,7 +202,8 @@ class MOZ_STACK_CLASS nsDOMSubtreeIterator : public nsDOMIterator class nsTrivialFunctor : public nsBoolDomIterFunctor { public: - virtual bool operator()(nsIDOMNode* aNode) // used to build list of all nodes iterator covers + // Used to build list of all nodes iterator covers + virtual bool operator()(nsIDOMNode* aNode) const { return true; } diff --git a/editor/libeditor/nsHTMLEditRules.cpp b/editor/libeditor/nsHTMLEditRules.cpp index 525167462b7b..9fd0e90743b3 100644 --- a/editor/libeditor/nsHTMLEditRules.cpp +++ b/editor/libeditor/nsHTMLEditRules.cpp @@ -107,7 +107,8 @@ IsStyleCachePreservingAction(EditAction action) class nsTableCellAndListItemFunctor : public nsBoolDomIterFunctor { public: - virtual bool operator()(nsIDOMNode* aNode) // used to build list of all li's, td's & th's iterator covers + // Used to build list of all li's, td's & th's iterator covers + virtual bool operator()(nsIDOMNode* aNode) const { if (nsHTMLEditUtils::IsTableCell(aNode)) return true; if (nsHTMLEditUtils::IsListItem(aNode)) return true; @@ -118,7 +119,7 @@ class nsTableCellAndListItemFunctor : public nsBoolDomIterFunctor class nsBRNodeFunctor : public nsBoolDomIterFunctor { public: - virtual bool operator()(nsIDOMNode* aNode) + virtual bool operator()(nsIDOMNode* aNode) const { if (nsTextEditUtils::IsBreak(aNode)) return true; return false; @@ -129,7 +130,7 @@ class nsEmptyEditableFunctor : public nsBoolDomIterFunctor { public: explicit nsEmptyEditableFunctor(nsHTMLEditor* editor) : mHTMLEditor(editor) {} - virtual bool operator()(nsIDOMNode* aNode) + virtual bool operator()(nsIDOMNode* aNode) const { if (mHTMLEditor->IsEditable(aNode) && (nsHTMLEditUtils::IsListItem(aNode) || @@ -151,7 +152,7 @@ class nsEditableTextFunctor : public nsBoolDomIterFunctor { public: explicit nsEditableTextFunctor(nsHTMLEditor* editor) : mHTMLEditor(editor) {} - virtual bool operator()(nsIDOMNode* aNode) + virtual bool operator()(nsIDOMNode* aNode) const { if (nsEditor::IsTextNode(aNode) && mHTMLEditor->IsEditable(aNode)) { @@ -5864,7 +5865,8 @@ public: explicit nsUniqueFunctor(nsCOMArray &aArray) : mArray(aArray) { } - virtual bool operator()(nsIDOMNode* aNode) // used to build list of all nodes iterator covers + // used to build list of all nodes iterator covers + virtual bool operator()(nsIDOMNode* aNode) const { return mArray.IndexOf(aNode) < 0; }