Simon in bug 195378: In fact, this might break now with something like: <div class="composited"><div id="child"></div> and dynamic toggle of "pointer-events" style on child. That won't issue a repaint (hopefully) and won't update event regions.
<rdar://problem/48988384>
Created attachment 366403 [details] patch
Created attachment 366406 [details] patch
Comment on attachment 366403 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366403&action=review > Source/WebCore/ChangeLog:12 > + Normally paint invalidation requests compositing configuration update whenever anything that would > + affect event region changes. However mutating 'pointer-events' property does not cause paint invalidation. Maybe RenderStyle::diff should return an enum value that indicates that event regions are dirty? > Source/WebCore/rendering/RenderElement.cpp:737 > + if (layer && (layer = layer->enclosingCompositingLayerForRepaint())) > + layer->setNeedsCompositingConfigurationUpdate(); It's non-obvious that setNeedsCompositingConfigurationUpdate is what you call to get event regions to be recomputed. We should clean that up in future.
Comment on attachment 366406 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366406&action=review > Source/WebCore/rendering/RenderLayer.cpp:6669 > +void RenderLayer::invalidateEventRegion() > +{ > + if (auto* compositingLayer = enclosingCompositingLayerForRepaint()) > + compositingLayer->setNeedsCompositingConfigurationUpdate(); > +} Heh ok.
Created attachment 366407 [details] patch
> Maybe RenderStyle::diff should return an enum value that indicates that > event regions are dirty? I considered it, but it wasn't obvious how it would be better than just doing this.
Maybe that's a good approach if this turns of to be more than a single property thing.
Comment on attachment 366407 [details] patch Clearing flags on attachment: 366407 Committed r243709: <https://trac.webkit.org/changeset/243709>
All reviewed patches have been landed. Closing bug.