Let's resolve the following issues around callback interface and make it conformant to the spec. We need renovation of callback interface.
a) The current implementation of callback interface is close to "callback function" rather than "callback interface".
b) EventListener must be a callback interface (DOM spec), but Blink implements EventListener something special independent from callback interface.
c) The current implementation of callback interface does not support wrapper-tracing.
d) There is no way to handle the return value of callback interfaces. Blink is always discarding the return value.
e) There is no way to specify "callback this value".
f) The realm of a callback interface must be the realm of the callback interface type value. Blink is currently using the current realm.
g) There is no support for the incumbent realm.
Comment 1 by yukishiino@chromium.org
, Oct 26 2017