-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spec descendant frames' ongoing navigations block disableUntrustedNetwork promise from being resolved #210
Spec descendant frames' ongoing navigations block disableUntrustedNetwork promise from being resolved #210
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
+@domfarolino for review, thank you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pretty much lgtm. This covers traversals as well btw, which I think is the goal too? Does that match the implementation? And are there WPTs?
Thanks!
From what I read from the spec, when This is the race condition that the PR targets: When a parent frame tries to disable untrusted networks, it checks the child frame and finds it has untrusted network disabled. Without checking descendant frames' ongoing navigations, the parent frame goes ahead marking its untrusted network also disabled. But if the child frame has an ongoing navigation, including the history traversal, it resets the child frame's untrusted network to enabled as the frame navigates to a different page. The implementation checks this via FrameTreeNode::HasNavigation(), which is set during normal navigation as well as history traversal. So the spec matches the implementation.
No. I'm adding WPTs for this. Tracking in bug: crbug/397377177. |
WPTs added in https://chromium-review.googlesource.com/c/chromium/src/+/6280958. However they were added to wpt_internal/ where other network revocation WPTs live. I suppose it is not possible to link internal WPTs in the spec? |
On a separate PR, @domfarolino had suggested offline to add a non-normative section that links to the internal WPT directory with an explanation of why they're internal. Not sure if it's worth doing here or just adding the WPTs later once we move them to the external directory. |
I think that'd be good. |
Thanks! There is an issue block below already stated that the internal WPTs will be upstreamed and listed there once the required test-only function is added to the WPT web driver. Lines 2154 to 2158 in 6fa197f
|
Sure but maybe this PR can link to the specific test that's relevant to the changes made in this patch. |
fix: #205
This PR only implements the change in algorithm "recalculate the untrusted network status of all fenced frame descendants".
The part that this algorithm should be called whenever a navigation commits will be done in a follow-up PR. I'm still investigating how to spec this. See previous comment on this.
Preview | Diff