Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.cpp (235067 => 235068)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.cpp 2018-08-20 14:07:06 UTC (rev 235067)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.cpp 2018-08-20 14:07:11 UTC (rev 235068)
@@ -34,41 +34,48 @@
namespace WebCore {
+ALWAYS_INLINE Event::Event(MonotonicTime createTime, const AtomicString& type, IsTrusted isTrusted, CanBubble canBubble, IsCancelable cancelable, IsComposed composed)
+ : m_type { type }
+ , m_isInitialized { !type.isNull() }
+ , m_canBubble { canBubble == CanBubble::Yes }
+ , m_cancelable { cancelable == IsCancelable::Yes }
+ , m_composed { composed == IsComposed::Yes }
+ , m_propagationStopped { false }
+ , m_immediatePropagationStopped { false }
+ , m_wasCanceled { false }
+ , m_defaultHandled { false }
+ , m_isDefaultEventHandlerIgnored { false }
+ , m_isTrusted { isTrusted == IsTrusted::Yes }
+ , m_isExecutingPassiveEventListener { false }
+ , m_eventPhase { NONE }
+ , m_createTime { createTime }
+{
+}
+
Event::Event(IsTrusted isTrusted)
- : m_isTrusted(isTrusted == IsTrusted::Yes)
- , m_createTime(MonotonicTime::now())
+ : Event { MonotonicTime::now(), { }, isTrusted, CanBubble::No, IsCancelable::No, IsComposed::No }
{
}
Event::Event(const AtomicString& eventType, CanBubble canBubble, IsCancelable isCancelable)
- : m_type(eventType)
- , m_isInitialized(true)
- , m_canBubble(canBubble == CanBubble::Yes)
- , m_cancelable(isCancelable == IsCancelable::Yes)
- , m_isTrusted(true)
- , m_createTime(MonotonicTime::now())
+ : Event { MonotonicTime::now(), eventType, IsTrusted::Yes, canBubble, isCancelable, IsComposed::No }
{
+ ASSERT(!eventType.isNull());
}
Event::Event(const AtomicString& eventType, CanBubble canBubble, IsCancelable isCancelable, MonotonicTime timestamp)
- : m_type(eventType)
- , m_isInitialized(true)
- , m_canBubble(canBubble == CanBubble::Yes)
- , m_cancelable(isCancelable == IsCancelable::Yes)
- , m_isTrusted(true)
- , m_createTime(timestamp)
+ : Event { timestamp, eventType, IsTrusted::Yes, canBubble, isCancelable, IsComposed::No }
{
+ ASSERT(!eventType.isNull());
}
Event::Event(const AtomicString& eventType, const EventInit& initializer, IsTrusted isTrusted)
- : m_type(eventType)
- , m_isInitialized(true)
- , m_canBubble(initializer.bubbles)
- , m_cancelable(initializer.cancelable)
- , m_composed(initializer.composed)
- , m_isTrusted(isTrusted == IsTrusted::Yes)
- , m_createTime(MonotonicTime::now())
+ : Event { MonotonicTime::now(), eventType, isTrusted,
+ initializer.bubbles ? CanBubble::Yes : CanBubble::No,
+ initializer.cancelable ? IsCancelable::Yes : IsCancelable::No,
+ initializer.composed ? IsComposed::Yes : IsComposed::No }
{
+ ASSERT(!eventType.isNull());
}
Event::~Event() = default;
Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.h (235067 => 235068)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.h 2018-08-20 14:07:06 UTC (rev 235067)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/Event.h 2018-08-20 14:07:11 UTC (rev 235068)
@@ -43,8 +43,9 @@
enum class IsTrusted : uint8_t { No, Yes };
enum class CanBubble : uint8_t { No, Yes };
enum class IsCancelable : uint8_t { No, Yes };
+ enum class IsComposed : uint8_t { No, Yes };
- enum PhaseType {
+ enum PhaseType {
NONE = 0,
CAPTURING_PHASE = 1,
AT_TARGET = 2,
@@ -148,24 +149,27 @@
virtual void receivedTarget() { }
private:
- AtomicString m_type;
+ explicit Event(MonotonicTime createTime, const AtomicString& type, IsTrusted, CanBubble, IsCancelable, IsComposed);
void setCanceledFlagIfPossible();
- bool m_isInitialized { false };
- bool m_canBubble { false };
- bool m_cancelable { false };
- bool m_composed { false };
+ AtomicString m_type;
- bool m_propagationStopped { false };
- bool m_immediatePropagationStopped { false };
- bool m_wasCanceled { false };
- bool m_defaultHandled { false };
- bool m_isDefaultEventHandlerIgnored { false };
- bool m_isTrusted { false };
- bool m_isExecutingPassiveEventListener { false };
+ unsigned m_isInitialized : 1;
+ unsigned m_canBubble : 1;
+ unsigned m_cancelable : 1;
+ unsigned m_composed : 1;
- PhaseType m_eventPhase { NONE };
+ unsigned m_propagationStopped : 1;
+ unsigned m_immediatePropagationStopped : 1;
+ unsigned m_wasCanceled : 1;
+ unsigned m_defaultHandled : 1;
+ unsigned m_isDefaultEventHandlerIgnored : 1;
+ unsigned m_isTrusted : 1;
+ unsigned m_isExecutingPassiveEventListener : 1;
+
+ unsigned m_eventPhase : 2;
+
RefPtr<EventTarget> m_currentTarget;
const EventPath* m_eventPath { nullptr };
RefPtr<EventTarget> m_target;