Compatibility issue leading to crash on macOS games. Changing instance variables to __weak in the _WebSafeForwarder class caused a couple of macOS games to crash just before starting play. The fix is to remove the __weak attribute, which effectively changes them back to __unsafe_unretained. Caused by: Bug 210625: [iOS WK1] -[_WebSafeForwarder asyncForwarder] uses non-static dispatch_once_t predicate <https://bugs.webkit.org/show_bug.cgi?id=210625> <https://trac.webkit.org/changeset/260306/webkit> <rdar://problem/62624078>
Created attachment 400620 [details] Patch v1
Comment on attachment 400620 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=400620&action=review > Source/WebKitLegacy/mac/WebView/WebView.mm:569 > + // Do not not change _target and _defaultTarget to __weak. See <rdar://problem/62624078>. > + id _target; > + id _defaultTarget; Should I proactively change these to __unsafe_unretained to future-proof a possible mistake during ARC conversion?
Comment on attachment 400620 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=400620&action=review r=me >> Source/WebKitLegacy/mac/WebView/WebView.mm:569 >> + id _defaultTarget; > > Should I proactively change these to __unsafe_unretained to future-proof a possible mistake during ARC conversion? Yes, that seems like a good idea.
Created attachment 400627 [details] Patch for landing
Waiting on EWS before marking cq+.
Comment on attachment 400627 [details] Patch for landing TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing on api-ios, but it is a WebKit2 test, so this patch can't possibly affect it. Marking as cq+.
Committed r262330: <https://trac.webkit.org/changeset/262330> All reviewed patches have been landed. Closing bug and clearing flags on attachment 400627 [details].