RESOLVED FIXED 216655
Enable ITP in WKWebViews for apps with the full browser entitlement who are not linked to iOS 14.0
https://bugs.webkit.org/show_bug.cgi?id=216655
Summary Enable ITP in WKWebViews for apps with the full browser entitlement who are n...
Kate Cheney
Reported 2020-09-17 10:51:37 PDT
Apps with the full browser entitlement who are not linked to iOS 14.0 should have ITP enabled in WKWebViews, and should not be treated as a full web browser in other WebKit cases until upgrading to iOS 14.0.
Attachments
Patch (2.63 KB, patch)
2020-09-17 11:22 PDT, Kate Cheney
no flags
Patch (1.92 KB, patch)
2020-09-17 12:19 PDT, Kate Cheney
no flags
Radar WebKit Bug Importer
Comment 1 2020-09-17 10:52:00 PDT
Kate Cheney
Comment 2 2020-09-17 11:22:45 PDT
John Wilander
Comment 3 2020-09-17 11:54:24 PDT
Comment on attachment 409051 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=409051&action=review > Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:246 > + return appWasLinkedOnOrAfter && isFullWebBrowser(WebCore::applicationBundleIdentifier()); Couldn't this be return linkedOnOrAfter(SDKVersion::FirstWithSessionCleanupByDefault, AssumeSafariIsAlwaysLinkedOnAfter::Yes) && isFullWebBrowser(WebCore::applicationBundleIdentifier())?
Brent Fulgham
Comment 4 2020-09-17 11:54:45 PDT
Comment on attachment 409051 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=409051&action=review I don't think this is quite right (see inline comments) > Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:109 > + if (isFullWebBrowser(bundleIdentifier) && !appWasLinkedOnOrAfter) Instead of this new test, I think we should change the existing linkedOnOrAfter check to only bail out if the default browser entitlement was NOT used. if (!appWasLinkedOnOrAfter && !isFullWebBrowser(bundleIdentifier)) return false; This way, we fall through and use the User's choice about ITP state for a default browser, even if it was built against the older SDK. > Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:246 > + return appWasLinkedOnOrAfter && isFullWebBrowser(WebCore::applicationBundleIdentifier()); After thinking about it, I don't think we need this check. We don't care if the app was linked against an older SDK. We just want to make sure that default browsers honor the user's ITP setting which you handle in your change to 'determineITPStateInternal'.
Kate Cheney
Comment 5 2020-09-17 12:19:41 PDT
Brent Fulgham
Comment 6 2020-09-17 12:55:26 PDT
Comment on attachment 409056 [details] Patch Looks good! r=me
EWS
Comment 7 2020-09-17 13:42:57 PDT
Committed r267208: <https://trac.webkit.org/changeset/267208> All reviewed patches have been landed. Closing bug and clearing flags on attachment 409056 [details].
Note You need to log in before you can comment on or make changes to this bug.