Bug 1832515, remove unsused *PrivilegedClickListeners and mIsChrome, r=masayuki

Differential Revision: https://phabricator.services.mozilla.com/D177737
This commit is contained in:
Olli Pettay 2023-05-12 04:37:11 +00:00
parent a97ea15efa
commit f588c0a3e3
4 changed files with 1 additions and 61 deletions

View file

@ -339,11 +339,6 @@ class EventTargetChainItem {
NS_ASSERTION(aVisitor.mEvent->mCurrentTarget == nullptr,
"CurrentTarget should be null!");
if (aVisitor.mEvent->mMessage == eMouseClick) {
aVisitor.mEvent->mFlags.mHadNonPrivilegedClickListeners =
aVisitor.mEvent->mFlags.mHadNonPrivilegedClickListeners ||
mManager->HasNonPrivilegedClickListeners();
}
mManager->HandleEvent(aVisitor.mPresContext, aVisitor.mEvent,
&aVisitor.mDOMEvent, CurrentTarget(),
&aVisitor.mEventStatus, IsItemInShadowTree());

View file

@ -113,9 +113,7 @@ EventListenerManagerBase::EventListenerManagerBase()
mMayHaveFormSelectEventListener(false),
mMayHaveTransitionEventListener(false),
mClearingListeners(false),
mIsMainThreadELM(NS_IsMainThread()),
mHasNonPrivilegedClickListeners(false),
mUnknownNonPrivilegedClickListeners(false) {
mIsMainThreadELM(NS_IsMainThread()) {
ClearNoListenersForEvents();
static_assert(sizeof(EventListenerManagerBase) == sizeof(uint64_t),
"Keep the size of EventListenerManagerBase size compact!");
@ -249,8 +247,6 @@ void EventListenerManager::AddEventListenerInternal(
listener->mListenerIsHandler = aHandler;
listener->mHandlerIsString = false;
listener->mAllEvents = aAllEvents;
listener->mIsChrome =
mIsMainThreadELM && nsContentUtils::LegacyIsCallerChromeOrNativeCode();
// Detect the type of event listener.
if (aFlags.mListenerIsJSListener) {
@ -636,13 +632,6 @@ void EventListenerManager::AddEventListenerInternal(
EventListenerService::NotifyAboutMainThreadListenerChange(mTarget,
aTypeAtom);
}
if (!mHasNonPrivilegedClickListeners || mUnknownNonPrivilegedClickListeners) {
if (IsNonChromeClickListener(listener)) {
mHasNonPrivilegedClickListeners = true;
mUnknownNonPrivilegedClickListeners = false;
}
}
}
void EventListenerManager::ProcessApzAwareEventListenerAdd() {
@ -819,9 +808,6 @@ void EventListenerManager::RemoveEventListenerInternal(
if (EVENT_TYPE_EQUALS(listener, aEventMessage, aUserType, aAllEvents)) {
if (listener->mListener == aListenerHolder &&
listener->mFlags.EqualsForRemoval(aFlags)) {
if (IsNonChromeClickListener(listener)) {
mUnknownNonPrivilegedClickListeners = true;
}
mListeners.RemoveElementAt(i);
NotifyEventListenerRemoved(aUserType);
if (!aAllEvents && deviceType) {
@ -833,23 +819,6 @@ void EventListenerManager::RemoveEventListenerInternal(
}
}
bool EventListenerManager::HasNonPrivilegedClickListeners() {
if (mUnknownNonPrivilegedClickListeners) {
Listener* listener;
mUnknownNonPrivilegedClickListeners = false;
for (uint32_t i = 0; i < mListeners.Length(); ++i) {
listener = &mListeners.ElementAt(i);
if (IsNonChromeClickListener(listener)) {
mHasNonPrivilegedClickListeners = true;
return mHasNonPrivilegedClickListeners;
}
}
mHasNonPrivilegedClickListeners = false;
}
return mHasNonPrivilegedClickListeners;
}
bool EventListenerManager::ListenerCanHandle(const Listener* aListener,
const WidgetEvent* aEvent,
EventMessage aEventMessage) const
@ -1104,9 +1073,6 @@ void EventListenerManager::RemoveEventHandler(nsAtom* aName) {
Listener* listener = FindEventHandler(eventMessage, aName);
if (listener) {
if (IsNonChromeClickListener(listener)) {
mUnknownNonPrivilegedClickListeners = true;
}
mListeners.RemoveElementAt(uint32_t(listener - &mListeners.ElementAt(0)));
NotifyEventListenerRemoved(aName);
if (IsDeviceType(eventMessage)) {
@ -1115,13 +1081,6 @@ void EventListenerManager::RemoveEventHandler(nsAtom* aName) {
}
}
bool EventListenerManager::IsNonChromeClickListener(Listener* aListener) {
return !aListener->mFlags.mInSystemGroup && !aListener->mIsChrome &&
aListener->mEventMessage == eMouseClick &&
(aListener->GetJSEventHandler() ||
aListener->mListener.HasWebIDLCallback());
}
nsresult EventListenerManager::CompileEventHandlerInternal(
Listener* aListener, const nsAString* aBody, Element* aElement) {
MOZ_ASSERT(aListener->GetJSEventHandler());

View file

@ -166,8 +166,6 @@ class EventListenerManagerBase {
uint16_t mMayHaveTransitionEventListener : 1;
uint16_t mClearingListeners : 1;
uint16_t mIsMainThreadELM : 1;
uint16_t mHasNonPrivilegedClickListeners : 1;
uint16_t mUnknownNonPrivilegedClickListeners : 1;
};
/*
@ -227,7 +225,6 @@ class EventListenerManager final : public EventListenerManagerBase {
bool mListenerIsHandler : 1;
bool mHandlerIsString : 1;
bool mAllEvents : 1;
bool mIsChrome : 1;
bool mEnabled : 1;
EventListenerFlags mFlags;
@ -244,7 +241,6 @@ class EventListenerManager final : public EventListenerManagerBase {
mListenerIsHandler(false),
mHandlerIsString(false),
mAllEvents(false),
mIsChrome(false),
mEnabled(true) {}
Listener(Listener&& aOther)
@ -256,14 +252,12 @@ class EventListenerManager final : public EventListenerManagerBase {
mListenerIsHandler(aOther.mListenerIsHandler),
mHandlerIsString(aOther.mHandlerIsString),
mAllEvents(aOther.mAllEvents),
mIsChrome(aOther.mIsChrome),
mEnabled(aOther.mEnabled) {
aOther.mEventMessage = eVoidEvent;
aOther.mListenerType = eNoListener;
aOther.mListenerIsHandler = false;
aOther.mHandlerIsString = false;
aOther.mAllEvents = false;
aOther.mIsChrome = false;
aOther.mEnabled = true;
}
@ -504,8 +498,6 @@ class EventListenerManager final : public EventListenerManagerBase {
return mMayHaveTransitionEventListener;
}
bool HasNonPrivilegedClickListeners();
/**
* Returns true if there may be a key event listener (keydown, keypress,
* or keyup) registered, or false if there definitely isn't.
@ -540,8 +532,6 @@ class EventListenerManager final : public EventListenerManagerBase {
bool HasNonPassiveWheelListener();
// Return true if aListener is a non-chrome-privileged click event listner
bool IsNonChromeClickListener(Listener* aListener);
/**
* Remove all event listeners from the event target this EventListenerManager
* is for.

View file

@ -182,10 +182,6 @@ struct BaseEventFlags {
// If mCameFromAnotherProcess is true, the event came from another process.
bool mCameFromAnotherProcess : 1;
// At lease one of the event in the event path had non privileged click
// listener.
bool mHadNonPrivilegedClickListeners : 1;
// If the event is being handled in target phase, returns true.
inline bool InTargetPhase() const {
return (mInBubblingPhase && mInCapturePhase);