Diff
Modified: trunk/LayoutTests/ChangeLog (261313 => 261314)
--- trunk/LayoutTests/ChangeLog 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/LayoutTests/ChangeLog 2020-05-07 18:01:01 UTC (rev 261314)
@@ -1,3 +1,13 @@
+2020-05-07 Antti Koivisto <an...@apple.com>
+
+ [Wheel event region] Include listeners on Window
+ https://bugs.webkit.org/show_bug.cgi?id=211577
+
+ Reviewed by Simon Fraser.
+
+ * fast/scrolling/mac/wheel-event-listener-region-window-expected.txt: Added.
+ * fast/scrolling/mac/wheel-event-listener-region-window.html: Added.
+
2020-05-07 Chris Dumez <cdu...@apple.com>
Unreviewed, mark imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/scroll-restoration-order.html as flaky on iOS.
Modified: trunk/Source/WebCore/ChangeLog (261313 => 261314)
--- trunk/Source/WebCore/ChangeLog 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/ChangeLog 2020-05-07 18:01:01 UTC (rev 261314)
@@ -1,3 +1,23 @@
+2020-05-07 Antti Koivisto <an...@apple.com>
+
+ [Wheel event region] Include listeners on Window
+ https://bugs.webkit.org/show_bug.cgi?id=211577
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/scrolling/mac/wheel-event-listener-region-window.html
+
+ * dom/EventTarget.h:
+ * dom/Node.h:
+ * style/StyleAdjuster.cpp:
+ (WebCore::Style::Adjuster::computeEventListenerRegionTypes):
+
+ Take EventTarget so this can be used with DOMWindow.
+
+ * style/StyleAdjuster.h:
+ * style/StyleResolveForDocument.cpp:
+ (WebCore::Style::resolveForDocument):
+
2020-05-07 Simon Fraser <simon.fra...@apple.com>
REGRESSION (r261056): [ Mac WK1 ] inspector/console/console-api.html is flaky crashing
Modified: trunk/Source/WebCore/dom/EventTarget.h (261313 => 261314)
--- trunk/Source/WebCore/dom/EventTarget.h 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/dom/EventTarget.h 2020-05-07 18:01:01 UTC (rev 261314)
@@ -116,6 +116,8 @@
void visitJSEventListeners(JSC::SlotVisitor&);
void invalidateJSEventListeners(JSC::JSObject*);
+ const EventTargetData* eventTargetData() const;
+
protected:
virtual ~EventTarget() = default;
@@ -122,7 +124,6 @@
virtual EventTargetData* eventTargetData() = 0;
virtual EventTargetData* eventTargetDataConcurrently() = 0;
virtual EventTargetData& ensureEventTargetData() = 0;
- const EventTargetData* eventTargetData() const;
virtual void eventListenersDidChange() { }
Modified: trunk/Source/WebCore/dom/Node.h (261313 => 261314)
--- trunk/Source/WebCore/dom/Node.h 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/dom/Node.h 2020-05-07 18:01:01 UTC (rev 261314)
@@ -482,7 +482,6 @@
bool m_adoptionIsRequired { true };
#endif
- using EventTarget::eventTargetData;
EventTargetData* eventTargetData() final;
EventTargetData* eventTargetDataConcurrently() final;
EventTargetData& ensureEventTargetData() final;
Modified: trunk/Source/WebCore/style/StyleAdjuster.cpp (261313 => 261314)
--- trunk/Source/WebCore/style/StyleAdjuster.cpp 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/style/StyleAdjuster.cpp 2020-05-07 18:01:01 UTC (rev 261314)
@@ -193,16 +193,16 @@
return sharedTouchActions;
}
-OptionSet<EventListenerRegionType> Adjuster::computeEventListenerRegionTypes(const Node& node, OptionSet<EventListenerRegionType> parentTypes)
+OptionSet<EventListenerRegionType> Adjuster::computeEventListenerRegionTypes(const EventTarget& eventTarget, OptionSet<EventListenerRegionType> parentTypes)
{
#if !PLATFORM(IOS_FAMILY)
- if (!node.hasEventListeners())
+ if (!eventTarget.hasEventListeners())
return parentTypes;
auto types = parentTypes;
auto findListeners = [&](auto& eventName, auto type, auto nonPassiveType) {
- auto* eventListenerVector = node.eventTargetData()->eventListenerMap.find(eventName);
+ auto* eventListenerVector = eventTarget.eventTargetData()->eventListenerMap.find(eventName);
if (!eventListenerVector)
return;
@@ -225,7 +225,7 @@
return types;
#else
- UNUSED_PARAM(node);
+ UNUSED_PARAM(eventTarget);
UNUSED_PARAM(parentTypes);
return { };
#endif
Modified: trunk/Source/WebCore/style/StyleAdjuster.h (261313 => 261314)
--- trunk/Source/WebCore/style/StyleAdjuster.h 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/style/StyleAdjuster.h 2020-05-07 18:01:01 UTC (rev 261314)
@@ -48,7 +48,7 @@
static void adjustSVGElementStyle(RenderStyle&, const SVGElement&);
static void adjustAnimatedStyle(RenderStyle&, const RenderStyle* parentBoxStyle, OptionSet<AnimationImpact>);
- static OptionSet<EventListenerRegionType> computeEventListenerRegionTypes(const Node&, OptionSet<EventListenerRegionType>);
+ static OptionSet<EventListenerRegionType> computeEventListenerRegionTypes(const EventTarget&, OptionSet<EventListenerRegionType>);
#if ENABLE(TEXT_AUTOSIZING)
struct AdjustmentForTextAutosizing {
Modified: trunk/Source/WebCore/style/StyleResolveForDocument.cpp (261313 => 261314)
--- trunk/Source/WebCore/style/StyleResolveForDocument.cpp 2020-05-07 18:00:12 UTC (rev 261313)
+++ trunk/Source/WebCore/style/StyleResolveForDocument.cpp 2020-05-07 18:01:01 UTC (rev 261314)
@@ -30,6 +30,7 @@
#include "StyleResolveForDocument.h"
#include "CSSFontSelector.h"
+#include "DOMWindow.h"
#include "Document.h"
#include "FontCascade.h"
#include "Frame.h"
@@ -73,8 +74,12 @@
documentStyle.setTextSizeAdjust(TextSizeAdjustment(NoTextSizeAdjustment));
#endif
- documentStyle.setEventListenerRegionTypes(Adjuster::computeEventListenerRegionTypes(document, { }));
+ auto regionTypes = Adjuster::computeEventListenerRegionTypes(document, { });
+ if (auto* window = document.domWindow())
+ regionTypes.add(Adjuster::computeEventListenerRegionTypes(*window, { }));
+ documentStyle.setEventListenerRegionTypes(regionTypes);
+
Element* docElement = document.documentElement();
RenderObject* docElementRenderer = docElement ? docElement->renderer() : nullptr;
if (docElementRenderer) {