Maybe, potentially consider merging https://chromium.googlesource.com/chromium/blink/+/665a494066b51c45bcbe84485803a9a3e3c8011f But Document::setFocusedElement has the following comment: oldFocusedElement->dispatchFocusOutEvent(eventNames().focusoutEvent, newFocusedElement); // DOM level 3 name for the bubbling blur event. // FIXME: We should remove firing DOMFocusOutEvent event when we are sure no content depends // on it, probably when <rdar://problem/8503958> is resolved. oldFocusedElement->dispatchFocusOutEvent(eventNames().DOMFocusOutEvent, newFocusedElement); // DOM level 2 name for compatibility. so I'm not sure if we should be firing it in more places. At least this patch makes our behavior consistent though.
See also: bug 47014, which says that we should drop support for these events.
https://github.com/WebKit/WebKit/commit/cfb87caa763e9f333c1c78a1957a8f7333d2999b ^Following commit removed --> obsolete DOM Level 2 "DOMFocusIn" / "DOMFocusOut" events, I am going to mark this as "RESOLVED WONTFIX". Thanks!