Summary: | [WebAuthn] Optimize LocalAuthenticator | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Jiewen Tan <jiewen_tan> | ||||
Component: | WebCore Misc. | Assignee: | Jiewen Tan <jiewen_tan> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | alex.gaynor, bfulgham, jiewen_tan, jonathan, jschoi, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 181943 | ||||||
Attachments: |
|
Description
Jiewen Tan
2018-03-09 15:54:13 PST
Includes: 1) Optimize the nested callbacks. 2) Don't let authData throttle. 3) Test IDN of RP.ID. 4) Figure out a better way to pass variables to objc block in another thread. 5) Optimize threading. 6) Replace weak pointers with other mechanism as they don't work in another thread. 7) Change little endian bytes (ARM and x86 default) to big endian as requested by the spec. 8) Better manage lifetime of LAContext passed around different threads. A solution could be all LAContext objects are stored in a map managed by LocalAuthenticator, and freed by callbacks happened in mainthread. That means using callOnMainThread to executing every callbacks. This will also resolve the WeakPtr issue. 9) Unify callbacks and use variant to handle exceptions. 10) Move constants from LocalAuthenticator.mm to a separate header. Fixed 9) in Bug 189277. Fixed 1), 4), 5), 6), and 8) in Bug 189279. 2) and 7) are fixed in Bug 193150. 11) Consider using initWithBytesNoCopy with toNSData(). 12) Combine m_assertionResponses and m_existingCredentials. 13) Find a better way of comparing credential id. Doing it with array seems fine given the list should be small. 14) Invalidate the LAContext when LocalConnection is destroyed. 15) Sort credentials according to LRU before returning to UI clients. Created attachment 397752 [details]
Patch
Comment on attachment 397752 [details]
Patch
r=me
Comment on attachment 397752 [details]
Patch
Thanks Brent for the r+.
Committed r260970: <https://trac.webkit.org/changeset/260970> All reviewed patches have been landed. Closing bug and clearing flags on attachment 397752 [details]. |