WebKit/Blink supports three overloads of window.postMessage(): "postMessage(message, targetOrigin)", "postMessage(message, targetOrigin, transferables)" and "postMessage(message, transferables, targetOrigin)" The last one being an accident of history as implementation and spec initially evolved, but an overload that got stuck. As it has little or no actual use (Link1), it will be deprecated and removed. Any remaining uses will have to swap arguments.
Docs: https://developers.google.com/web/updates/2016/06/chrome-52-deprecations#deprecate-overload-of-postmessage https://html.spec.whatwg.org/multipage/#dom-window-postmessage https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage