[inert] Stop propagating inertness into nested browsing contexts #32911
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Doing so was a cross-site leak. This change is against the HTML spec,
but it aligns Blink with Gecko. WebKit is also not propagating inertness
for the selection API, but it does for focusability.
I already changed the spec whatwg/html#7605
and updated WPT in #32817.
Note this only affects the webexposed behavior. The accessibility tree
still considers the contents of an inert frame to be inert, as tested by
All/DumpAccessibilityTreeTestWithIgnoredNodes.AccessibilityModalDialogAndIframes/*
Therefore Frame::is_inert_ and related flags are kept for accessibility,
but they will no longer effect ComputedStyle::IsInert().
Also note that even if the contents in the nested browsing contexts are
not marked as inert, if the browsing context container is inert, they
won't respond to mouse interactions, and they won't be reached by
sequential navigation.
Bug: 1293191
TEST=All/DumpAccessibilityTreeTestWithIgnoredNodes.InertAttribute/*
TEST=All/SitePerProcessBrowserTest.CrossProcessInertSubframe/*
TEST=All/SitePerProcessBrowserTest.CrossProcessIsInertPropagation/*
TEST=third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html
TEST=third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html
TEST=third_party/blink/web_tests/fast/dom/inert/inert-focus-in-frames.html
AX-Relnotes: n/a.
Change-Id: I70820d2aeca98e1c4036bd3f8c41ef0129a97a63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3302103
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Oriol Brufau <obrufau@igalia.com>
Cr-Commit-Position: refs/heads/main@{#973015}