Bug 210509 - Remove generic parameter serialization fallback
Summary: Remove generic parameter serialization fallback
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: Safari 13
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on: 189709 201810
Blocks:
  Show dependency treegraph
 
Reported: 2020-04-14 12:04 PDT by Brent Fulgham
Modified: 2020-04-15 09:36 PDT (History)
5 users (show)

See Also:


Attachments
Patch (3.49 KB, patch)
2020-04-14 12:07 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff
Patch (5.32 KB, patch)
2020-04-14 16:06 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2020-04-14 12:04:52 PDT
Improved injected bundle serialization was implemented in Bug 201810. It is time to remove the compatibility fallback so that we can ensure we are always using the modern implementation.
Comment 1 Brent Fulgham 2020-04-14 12:07:49 PDT
Created attachment 396447 [details]
Patch
Comment 2 Brent Fulgham 2020-04-14 12:09:30 PDT
<rdar://problem/55522650>
Comment 3 Brent Fulgham 2020-04-14 14:53:40 PDT
The api-ios test failure looks relevant:

u'TestWebKitAPI.WebKit.WKWebProcessPlugInWithoutRegisteredCustomClass
Comment 4 Brent Fulgham 2020-04-14 15:53:18 PDT
(In reply to Brent Fulgham from comment #3)
> The api-ios test failure looks relevant:
> 
> u'TestWebKitAPI.WebKit.WKWebProcessPlugInWithoutRegisteredCustomClass

Oh! This is behaving correctly, now that we are denying serialization of unregistered classes. The related WKWebProcessPlugInWithRegisteredCustomClass works as expected.

I'll update the test expectation.
Comment 5 Brent Fulgham 2020-04-14 16:06:23 PDT
Created attachment 396471 [details]
Patch
Comment 6 Geoffrey Garen 2020-04-14 20:50:32 PDT
Comment on attachment 396471 [details]
Patch

r=me

How did we determine that clients have stopped using the legacy code path?
Comment 7 EWS 2020-04-15 09:35:19 PDT
Committed r260134: <https://trac.webkit.org/changeset/260134>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396471 [details].
Comment 8 Brent Fulgham 2020-04-15 09:36:20 PDT
(In reply to Geoffrey Garen from comment #6)
> Comment on attachment 396471 [details]
> Patch
> 
> r=me
> 
> How did we determine that clients have stopped using the legacy code path?

In 2017 I reached out to the relevant clients (since injected bundles are SPI) and worked with them to stop using the old code path. Foundation now generates simulated crashes any time NSKeyedUnarchiver uses 'NSObject class' as the root for unarchiving so it was possible to see what wasn't updated yet.