Bug 1336011 part.2 Create an alias of the type of mEditorObservers r?smaug draft
authorMasayuki Nakano <masayuki@d-toybox.com>
Tue, 07 Feb 2017 22:36:16 +0900
changeset 479920 90e690c023c8d37fbb68a0ecdda551a65200aa11
parent 479919 2019f3d5f8491b68de6b484f058ed32990959f47
child 479921 7d41f51ff70017fac33351e61e7e924c0d17684f
push id44394
push usermasayuki@d-toybox.com
push dateTue, 07 Feb 2017 14:04:59 +0000
reviewerssmaug
bugs1336011
milestone54.0a1
Bug 1336011 part.2 Create an alias of the type of mEditorObservers r?smaug MozReview-Commit-ID: 7LWl5F4C0Ge
editor/libeditor/EditorBase.cpp
editor/libeditor/EditorBase.h
--- 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;