Bug 1336011 part.2 Create an alias of the type of mEditorObservers r?smaug
MozReview-Commit-ID: 7LWl5F4C0Ge
--- a/editor/libeditor/EditorBase.cpp
+++ b/editor/libeditor/EditorBase.cpp
@@ -1871,17 +1871,17 @@ private:
nsCOMPtr<nsIContent> mTarget;
bool mIsComposing;
};
void
EditorBase::NotifyEditorObservers(NotificationForEditorObservers aNotification)
{
// Copy the observers since EditAction()s can modify mEditorObservers.
- nsTArray<mozilla::OwningNonNull<nsIEditorObserver>> observers(mEditorObservers);
+ AutoEditorObserverArray observers(mEditorObservers);
switch (aNotification) {
case eNotifyEditorObserversOfEnd:
mIsInEditAction = false;
for (auto& observer : observers) {
observer->EditAction();
}
if (!mDispatchInputEvent) {
--- a/editor/libeditor/EditorBase.h
+++ b/editor/libeditor/EditorBase.h
@@ -1002,17 +1002,19 @@ protected:
// compositionend.
RefPtr<TextComposition> mComposition;
// Listens to all low level actions on the doc.
typedef AutoTArray<OwningNonNull<nsIEditActionListener>, 5>
AutoActionListenerArray;
AutoActionListenerArray mActionListeners;
// Just notify once per high level change.
- nsTArray<OwningNonNull<nsIEditorObserver>> mEditorObservers;
+ typedef AutoTArray<OwningNonNull<nsIEditorObserver>, 3>
+ AutoEditorObserverArray;
+ AutoEditorObserverArray mEditorObservers;
// Listen to overall doc state (dirty or not, just created, etc.).
nsTArray<OwningNonNull<nsIDocumentStateListener>> mDocStateListeners;
// Cached selection for AutoSelectionRestorer.
SelectionState mSavedSel;
// Utility class object for maintaining preserved ranges.
RangeUpdater mRangeUpdater;