Use WebKit delegate flow for handling opening a new tab from _blank links #3551
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.
Task/Issue URL: https://app.asana.com/0/414709148257752/1208699273169079/f
Description:
In https://app.asana.com/0/414709148257752/1208699273169079/f it was identified that opening new tab via links with "_blank" target results in trimming referrer or sometimes broken flows. The previous logic used cancelling the navigation and opening a new tab followed by manual trigger to load target URL.
After investigation this approach was discouraged in favour of allowing the navigation and handling opening the new tab via
WKUIDelegate
callback inTabViewController.webView(_:createWebViewWith:for:windowFeatures:)
Steps to test this PR:
Open https://www.svcbank.com/personal-netbanking
Tap
Continue To Login
buttonExpected: A new tab with the login page should open
Open http://miasma13.github.io/downloads.html
Tap
What are my headers
linkExpected: Check in the summary for referer header to properly list original page
Retest navigation with various means of opening a new tab (including via JS calls)
Definition of Done (Internal Only):
Copy Testing:
’
rather than'
Orientation Testing:
Device Testing:
OS Testing:
Theme Testing:
Internal references:
Software Engineering Expectations
Technical Design Template