Bug 210216

Summary: Generate event region for every root layer
Product: WebKit Reporter: Daniel Bates <dbates>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: simon.fraser
Priority: P2    
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=210041
https://bugs.webkit.org/show_bug.cgi?id=210311

Description Daniel Bates 2020-04-08 15:19:39 PDT
RenderLayer::invalidateEventRegion() and RenderLayerBacking::updateEventRegion() only generate an event region for non-root layers so the UI process has more info for hit testing.
Comment 1 Daniel Bates 2020-04-08 15:22:13 PDT
This bug came up while considering alt patch attachment #395855 [details] (bug 210041). It removed an iOS compile-time guard from RenderLayer::invalidateEventRegion(), which made causes this progression:

[[
--- /Volumes/Data/worker/macOS-Mojave-Release-WK2-Tests-EWS/build/layout-test-results/fast/scrolling/mac/event-region-subframe-expected.txt
+++ /Volumes/Data/worker/macOS-Mojave-Release-WK2-Tests-EWS/build/layout-test-results/fast/scrolling/mac/event-region-subframe-actual.txt
@@ -6,6 +6,9 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
+      (event region
+        (rect (0,0) width=800 height=600)
+      )
       (children 1
         (GraphicsLayer
           (position 8.00 8.00)
]]