A question on WebWorker

In case someone is familiar with WebWorker.

I called postMessage twice in a row inside a worker’s code:

postMessage(‘Hello1’);
postMessage("Hello2’);

To my BIG surprise, the message posted later was received earlier
when I used Firefox. With Chromium, the messages were received in
the FIFO order, which seems very natural.

So my question is this: Did Firefox really give a correct implementation of
the semantics of postMessage? If so, it is kind of like UDP, which makes
programming a great deal more difficult! Why?