Summary: | Update event region when toggling pointer-events:none | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Antti Koivisto <koivisto> | ||||||||
Component: | Scrolling | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | commit-queue, simon.fraser, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=195378 | ||||||||||
Attachments: |
|
Description
Antti Koivisto
2019-03-18 12:14:31 PDT
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. |