See <https://www.w3.org/Bugs/Public/show_bug.cgi?id=19416>, it doesn't make sense for keyUsage to have the default empty value.
https://www.w3.org/Bugs/Public/show_bug.cgi?id=19705 is the correct bug.
Created attachment 240848 [details]
Comment on attachment 240848 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=240848&action=review
This patch does not change behavior - everything besides the function name is essentially a comment for [Custom] properties. The actual implementation that makes these optional is in JSSubtleCryptoCustom.cpp.
It is probably OK to make this particular change. But I think that the better approach would be to freeze the existing implementation under crypto.webkitSubtle, and start one that matches the new spec and is exposed as crypto.subtle. There were incompatible changes that we shouldn't be making for webkitSubtle. And generally, the spec changed so much that a clean reimplementation is probably easier than massaging the existing one.
> + No new tests, no behavior change.
There is indeed no behavior change (see above), however making arguments non-optional is definitely a behavior change that needs to be tested.
This bug should be resolved by the following revisions: