Bug 129928

Summary: WebCrypto should be available in workers
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: adam, bfulgham, jiewen_tan, rob, syoichi, unsung_hero-97, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 160883    

Description Alexey Proskuryakov 2014-03-07 15:08:21 PST
SubtleCrypto algorithms just got exposed on workers.

Probably the most notable part of work here is to make structured clone work with CryptoKeys in workers.

Also from the WG resolution:

---------------------------
The previous blocking issues were:
1) Should we define sync interfaces
2) How do we handle multi-threaded Key access

We resolved point 1 by saying "No"
  - In the future, if we wish to do so, it can be as part of / extension to the Promise interface" (eg: imagine a promise.wait() method)
We resolved point 2 by removing the Key Storage (long ago), allowing Keys to be handled in IDB. 
  - All cryptographic state is handled within the Promise, which isn't transferrable between workers
  - Key tainting is no longer required, by virtue of moving the hashed attributes into key generation, so we don't have synchronization risks there
  - Regardless, by virtue of the Promises() interface, implementations can take their own approach to scheduling the work for promises
---------------------------
Comment 1 Alexey Proskuryakov 2016-05-19 19:15:34 PDT
*** Bug 157900 has been marked as a duplicate of this bug. ***
Comment 2 Radar WebKit Bug Importer 2016-07-14 15:19:24 PDT
<rdar://problem/27359405>
Comment 3 Brent Fulgham 2016-11-16 11:22:57 PST
Is this already working with the new SubtleCrypto changes?
Comment 4 Jiewen Tan 2016-11-16 11:55:42 PST
(In reply to comment #3)
> Is this already working with the new SubtleCrypto changes?

I think so. However, I will prefer to close this bug when all methods are in place.