Summary: | Implement hit testing bits of inert subtrees | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tim Nguyen (:ntim) <ntim> | ||||||||||||||||||
Component: | DOM | Assignee: | Tim Nguyen (:ntim) <ntim> | ||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||
Severity: | Normal | CC: | aboxhall, andresg_22, apinheiro, cdumez, cfleizach, changseok, cmarcelo, dmazzoni, esprehn+autocc, ews-watchlist, fred.wang, glenn, gyuyoung.kim, hi, jcraig, jdiggs, joepeck, kangil.han, koivisto, kondapallykalyan, pangle, pdr, samuel_white, simon.fraser, webkit-bug-importer | ||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||
Bug Depends on: | 230678, 230681 | ||||||||||||||||||||
Bug Blocks: | 84635, 165279, 230686 | ||||||||||||||||||||
Attachments: |
|
Description
Tim Nguyen (:ntim)
2021-08-20 02:30:53 PDT
Created attachment 436919 [details]
Patch
Created attachment 438657 [details]
Patch
Comment on attachment 438657 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=438657&action=review > Source/WebCore/rendering/style/StyleRareInheritedData.h:169 > + bool isInert; You should include this into the bitfield with the rest of the booleans. Created attachment 438661 [details]
Patch
Created attachment 438978 [details]
Patch
Created attachment 439020 [details]
Patch
Comment on attachment 439020 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=439020&action=review > Source/WebCore/style/StyleSharingResolver.cpp:283 > + return false; Note to self, this could use an inert attribute feature flag check (though not sure if that slows down the SharingResolver or not) Comment on attachment 439020 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=439020&action=review > Source/WebCore/style/StyleSharingResolver.cpp:283 > + return false; Note to self, this could use an inert attribute feature flag check (though not sure if that slows down the SharingResolver or not) Comment on attachment 439020 [details]
Patch
Please split this up to pieces that can be reviewed separately (along the lines of "Add effectiveInert bit to RenderStyle")
Created attachment 439039 [details]
Patch
Created attachment 439042 [details]
Patch
Comment on attachment 439042 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=439042&action=review > Source/WebCore/style/StyleAdjuster.cpp:526 > + bool isInertSubtreeRoot = (m_document.activeModalDialog() && m_element == m_document.documentElement()) > + || (m_document.settings().inertAttributeEnabled() && is<HTMLElement>(m_element) && m_element->hasAttribute(HTMLNames::inertAttr)); This would read better as a lambda. > Source/WebCore/style/StyleAdjuster.cpp:532 > + if (isInertSubtreeRoot) > + style.setEffectiveInert(true); > + > + // Make sure the active dialog is interactable when the whole document is blocked by the modal dialog > + if (m_element == m_document.activeModalDialog()) > + style.setEffectiveInert(false); What should happen when you have an active <dialog inert>? Created attachment 439262 [details]
Patch
Committed r283079 (242137@main): <https://commits.webkit.org/242137@main> *** Bug 229410 has been marked as a duplicate of this bug. *** |