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
--- 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();
};