Bug 1432528 - part 4: Remove nsIEditorObserver::BeforeEditAction() and nsIEditorObserver::CancelEditAction() because nobody implements them r?m_kato draft
authorMasayuki Nakano <masayuki@d-toybox.com>
Wed, 24 Jan 2018 14:31:29 +0900
changeset 724115 b65e83320f66c266109145c41393c961fc49134a
parent 724114 411355d08013bd30d27d075746eb5a1099cc1a16
child 747057 870f71fab166cab44699e3996b4f2ff6939aa40c
push id96650
push usermasayuki@d-toybox.com
push dateWed, 24 Jan 2018 14:40:19 +0000
reviewersm_kato
bugs1432528
milestone60.0a1
Bug 1432528 - part 4: Remove nsIEditorObserver::BeforeEditAction() and nsIEditorObserver::CancelEditAction() because nobody implements them r?m_kato Now, nobody implements nsIEditorObserver::BeforeEditAction() and nsIEditorObserver::CancelEditAction(). So, we can remove them. MozReview-Commit-ID: DYppLayC5oT
editor/libeditor/EditorBase.cpp
editor/nsIEditorObserver.idl
--- a/editor/libeditor/EditorBase.cpp
+++ b/editor/libeditor/EditorBase.cpp
@@ -2202,40 +2202,24 @@ EditorBase::NotifyEditorObservers(Notifi
       }
 
       mIsInEditAction = true;
 
       if (mIMEContentObserver) {
         RefPtr<IMEContentObserver> observer = mIMEContentObserver;
         observer->BeforeEditAction();
       }
-
-      if (!mEditorObservers.IsEmpty()) {
-        // Copy the observers since EditAction()s can modify mEditorObservers.
-        AutoEditorObserverArray observers(mEditorObservers);
-        for (auto& observer : observers) {
-          observer->BeforeEditAction();
-        }
-      }
       break;
     case eNotifyEditorObserversOfCancel:
       mIsInEditAction = false;
 
       if (mIMEContentObserver) {
         RefPtr<IMEContentObserver> observer = mIMEContentObserver;
         observer->CancelEditAction();
       }
-
-      if (!mEditorObservers.IsEmpty()) {
-        // Copy the observers since EditAction()s can modify mEditorObservers.
-        AutoEditorObserverArray observers(mEditorObservers);
-        for (auto& observer : observers) {
-          observer->CancelEditAction();
-        }
-      }
       break;
     default:
       MOZ_CRASH("Handle all notifications here");
       break;
   }
 }
 
 void
--- a/editor/nsIEditorObserver.idl
+++ b/editor/nsIEditorObserver.idl
@@ -1,36 +1,22 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 
-/*
-Editor Observer interface to outside world
-*/
-
+/**
+ * nsIEditorObserver is the interface used by applications wishing to be
+ * notified when the editor has completed a user action.
+ * Note that when you want to use this from C++, please check if EditorBase
+ * can treat your class directly since using this interface may make editor
+ * slower.
+ */
 [scriptable, uuid(f3ee57a6-890c-4ce0-a584-8a84bba0292e)]
-
-/**
- * A generic editor observer interface.
- * <P>
- * nsIEditorObserver is the interface used by applications wishing to be notified
- * when the editor has completed a user action.
- *
- */
-interface nsIEditorObserver : nsISupports {
+interface nsIEditorObserver : nsISupports
+{
   /**
    * Called after the editor completes a user action.
    */
   void EditAction();
-  /**
-   * Called when editor starts to handle a user action.  I.e., This must be
-   * called before the first DOM change.
-   */
-  void BeforeEditAction();
-  /**
-   * Called after BeforeEditAction() is called but EditorAction() won't be
-   * called.
-   */
-  void CancelEditAction();
 };