Bug 1449812 - Constify DOMEventTargetHelper::HasListeners and HasListenersFor. r?baku draft
authorThomas Wisniewski <wisniewskit@gmail.com>
Wed, 28 Mar 2018 22:40:32 -0400
changeset 774521 004683e55a489baf501202d7d383780869afaa96
parent 774444 6aa3b57955fed5e137d0306478e1a4b424a6d392
push id104429
push userwisniewskit@gmail.com
push dateThu, 29 Mar 2018 02:47:29 +0000
reviewersbaku
bugs1449812
milestone61.0a1
Bug 1449812 - Constify DOMEventTargetHelper::HasListeners and HasListenersFor. r?baku MozReview-Commit-ID: 739quGYs78Y
dom/events/DOMEventTargetHelper.h
dom/events/EventListenerManager.cpp
dom/events/EventListenerManager.h
--- a/dom/events/DOMEventTargetHelper.h
+++ b/dom/events/DOMEventTargetHelper.h
@@ -103,22 +103,22 @@ public:
       // nsISupports pointer. That must be fixed, or we'll crash...
       NS_ASSERTION(target_qi == target, "Uh, fix QI!");
     }
 #endif
 
     return static_cast<DOMEventTargetHelper*>(target);
   }
 
-  bool HasListenersFor(const nsAString& aType)
+  bool HasListenersFor(const nsAString& aType) const
   {
     return mListenerManager && mListenerManager->HasListenersFor(aType);
   }
 
-  bool HasListenersFor(nsAtom* aTypeWithOn)
+  bool HasListenersFor(nsAtom* aTypeWithOn) const
   {
     return mListenerManager && mListenerManager->HasListenersFor(aTypeWithOn);
   }
 
   virtual nsPIDOMWindowOuter* GetOwnerGlobalForBindings() override
   {
     return nsPIDOMWindowOuter::GetFromCurrentInner(GetOwner());
   }
--- a/dom/events/EventListenerManager.cpp
+++ b/dom/events/EventListenerManager.cpp
@@ -1466,54 +1466,54 @@ EventListenerManager::MutationListenerBi
         bits |= MutationBitForEventType(listener->mEventMessage);
       }
     }
   }
   return bits;
 }
 
 bool
-EventListenerManager::HasListenersFor(const nsAString& aEventName)
+EventListenerManager::HasListenersFor(const nsAString& aEventName) const
 {
   if (mIsMainThreadELM) {
     RefPtr<nsAtom> atom = NS_Atomize(NS_LITERAL_STRING("on") + aEventName);
     return HasListenersFor(atom);
   }
 
   uint32_t count = mListeners.Length();
   for (uint32_t i = 0; i < count; ++i) {
-    Listener* listener = &mListeners.ElementAt(i);
+    const Listener* listener = &mListeners.ElementAt(i);
     if (listener->mTypeString == aEventName) {
       return true;
     }
   }
   return false;
 }
 
 bool
-EventListenerManager::HasListenersFor(nsAtom* aEventNameWithOn)
+EventListenerManager::HasListenersFor(nsAtom* aEventNameWithOn) const
 {
 #ifdef DEBUG
   nsAutoString name;
   aEventNameWithOn->ToString(name);
 #endif
   NS_ASSERTION(StringBeginsWith(name, NS_LITERAL_STRING("on")),
                "Event name does not start with 'on'");
   uint32_t count = mListeners.Length();
   for (uint32_t i = 0; i < count; ++i) {
-    Listener* listener = &mListeners.ElementAt(i);
+    const Listener* listener = &mListeners.ElementAt(i);
     if (listener->mTypeAtom == aEventNameWithOn) {
       return true;
     }
   }
   return false;
 }
 
 bool
-EventListenerManager::HasListeners()
+EventListenerManager::HasListeners() const
 {
   return !mListeners.IsEmpty();
 }
 
 nsresult
 EventListenerManager::GetListenerInfo(nsCOMArray<nsIEventListenerInfo>* aList)
 {
   nsCOMPtr<EventTarget> target = do_QueryInterface(mTarget);
--- a/dom/events/EventListenerManager.h
+++ b/dom/events/EventListenerManager.h
@@ -400,28 +400,28 @@ public:
    *       event bits are returned. All bits are also returned if one of the
    *       event listeners is registered to handle DOMSubtreeModified events.
    */
   uint32_t MutationListenerBits();
 
   /**
    * Returns true if there is at least one event listener for aEventName.
    */
-  bool HasListenersFor(const nsAString& aEventName);
+  bool HasListenersFor(const nsAString& aEventName) const;
 
   /**
    * Returns true if there is at least one event listener for aEventNameWithOn.
    * Note that aEventNameWithOn must start with "on"!
    */
-  bool HasListenersFor(nsAtom* aEventNameWithOn);
+  bool HasListenersFor(nsAtom* aEventNameWithOn) const;
 
   /**
    * Returns true if there is at least one event listener.
    */
-  bool HasListeners();
+  bool HasListeners() const;
 
   /**
    * Sets aList to the list of nsIEventListenerInfo objects representing the
    * listeners managed by this listener manager.
    */
   nsresult GetListenerInfo(nsCOMArray<nsIEventListenerInfo>* aList);
 
   uint32_t GetIdentifierForEvent(nsAtom* aEvent);