| Index: third_party/WebKit/Source/core/events/EventTarget.cpp
|
| diff --git a/third_party/WebKit/Source/core/events/EventTarget.cpp b/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| index d98bb138c288ff47c9a2f04c3a6e7e6343915351..60f1562a5ba9a209dcaf8cd693f6b3702832a946 100644
|
| --- a/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| +++ b/third_party/WebKit/Source/core/events/EventTarget.cpp
|
| @@ -65,6 +65,15 @@ enum PassiveForcedListenerResultType {
|
| PassiveForcedListenerResultTypeMax
|
| };
|
|
|
| +Event::PassiveMode eventPassiveMode(const RegisteredEventListener& eventListener)
|
| +{
|
| + if (!eventListener.passive())
|
| + return Event::PassiveMode::NotPassive;
|
| + if (eventListener.passiveForcedForDocumentTarget())
|
| + return Event::PassiveMode::PassiveForcedDocumentLevel;
|
| + return Event::PassiveMode::Passive;
|
| +}
|
| +
|
| Settings* windowSettings(LocalDOMWindow* executingWindow)
|
| {
|
| if (executingWindow) {
|
| @@ -627,7 +636,7 @@ bool EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList
|
| if (event->immediatePropagationStopped())
|
| break;
|
|
|
| - event->setHandlingPassive(registeredListener.passive());
|
| + event->setHandlingPassive(eventPassiveMode(registeredListener));
|
| bool passiveForced = registeredListener.passiveForcedForDocumentTarget();
|
|
|
| InspectorInstrumentation::NativeBreakpoint nativeBreakpoint(context, this, event);
|
| @@ -655,7 +664,7 @@ bool EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList
|
| passiveForcedHistogram.count(breakageType);
|
| }
|
|
|
| - event->setHandlingPassive(false);
|
| + event->setHandlingPassive(Event::PassiveMode::NotPassive);
|
|
|
| CHECK_LE(i, size);
|
| }
|
|
|