Skip to content
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

fix: hangs in an iframe when it redirects to a cross-domain site #6331

Merged
merged 5 commits into from
Jul 12, 2021

Conversation

wentwrong
Copy link
Contributor

@wentwrong wentwrong commented Jun 23, 2021

Purpose

TestCafe hangs when click in an iframe redirects to a page on a different domain. It occurs due to the cross-origin iframe's driver not able to read the pending actions from the ContextStorage of its parent and because of that the driver doesn't send the "ready" driver status and TestCafe hangs.

Approach

In the cross-domain iframe we should check that the parent doesn't have pending actions as well. Because the iframe and its parent with different origins doesn't share a common sessionStorage (its used under the hood of ContextStorage), we should send the message to check if there're some pending actions in the parent's driver.

References

Fixes #4232

Pre-Merge TODO

  • Write tests for your proposed changes
  • Make sure that existing tests do not fail

@wentwrong wentwrong temporarily deployed to CI June 23, 2021 16:30 Inactive
@wentwrong wentwrong temporarily deployed to CI June 23, 2021 16:41 Inactive
@wentwrong wentwrong temporarily deployed to CI June 23, 2021 18:23 Inactive
@wentwrong wentwrong marked this pull request as ready for review June 23, 2021 19:26
@miherlosev
Copy link
Collaborator

I will finish this PR.

@miherlosev miherlosev temporarily deployed to CI June 29, 2021 12:09 Inactive
@miherlosev miherlosev temporarily deployed to CI June 29, 2021 12:17 Inactive
@miherlosev miherlosev requested a review from AlexKamaev June 29, 2021 15:18
@miherlosev miherlosev merged commit 0d31600 into DevExpress:master Jul 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants