Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1097)

Unified Diff: third_party/WebKit/Source/core/events/RegisteredEventListener.h

Issue 2245723002: Support "once" event listener option (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/events/RegisteredEventListener.h
diff --git a/third_party/WebKit/Source/core/events/RegisteredEventListener.h b/third_party/WebKit/Source/core/events/RegisteredEventListener.h
index b2ff7d2d33aa91e2de8f90f9ba844dd1bd18d9ed..14c9d10155f0d21770cedce518461707b1899dfa 100644
--- a/third_party/WebKit/Source/core/events/RegisteredEventListener.h
+++ b/third_party/WebKit/Source/core/events/RegisteredEventListener.h
@@ -36,8 +36,10 @@ public:
RegisteredEventListener()
: m_useCapture(false)
, m_passive(false)
+ , m_once(false)
, m_blockedEventWarningEmitted(false)
, m_passiveForcedForDocumentTarget(false)
+ , m_onceBeingRemoved(false)
{
}
@@ -45,8 +47,10 @@ public:
: m_listener(listener)
, m_useCapture(options.capture())
, m_passive(options.passive())
+ , m_once(options.once())
, m_blockedEventWarningEmitted(false)
, m_passiveForcedForDocumentTarget(options.passiveForcedForDocumentTarget())
+ , m_onceBeingRemoved(false)
{
}
@@ -61,6 +65,7 @@ public:
result.setCapture(m_useCapture);
result.setPassive(m_passive);
result.setPassiveForcedForDocumentTarget(m_passiveForcedForDocumentTarget);
+ result.setOnce(m_once);
return result;
}
@@ -79,6 +84,11 @@ public:
return m_passive;
}
+ bool once() const
+ {
+ return m_once;
+ }
+
bool capture() const
{
return m_useCapture;
@@ -94,6 +104,16 @@ public:
return m_passiveForcedForDocumentTarget;
}
+ bool onceBeingRemoved() const
+ {
+ return m_onceBeingRemoved;
+ }
+
+ void setOnceBeingRemoved()
+ {
+ m_onceBeingRemoved = true;
+ }
+
void setBlockedEventWarningEmitted()
{
m_blockedEventWarningEmitted = true;
@@ -119,8 +139,10 @@ private:
Member<EventListener> m_listener;
unsigned m_useCapture : 1;
unsigned m_passive : 1;
+ unsigned m_once : 1;
unsigned m_blockedEventWarningEmitted : 1;
unsigned m_passiveForcedForDocumentTarget : 1;
+ unsigned m_onceBeingRemoved : 1;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698