In WebIDL spec, [Default] is defined as
> If the [Default] extended attribute appears on a regular operation, then it indicates that steps described in the corresponding default operation must be carried out when the operation is invoked.
but in Blink, it is defined as
> [Default] allows one to specify the default values for optional arguments. This removes the need to have C++ overloads in the Blink implementation.
and it takes [Default] is not spec'ed. [1]
We should take Blink specific usages of [Default] away.
I'm not sure if we need to re-implement [Default] as spec says.
[1] https://chromium.googlesource.com/chromium/src/+/master/third_party/blink/renderer/bindings/IDLExtendedAttributes.md#default_p