Closed Bug 1454091 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 10467 - Reland 2: Use PostTask to schedule cross-process postMessage forwarding.


(Core :: DOM: Security, enhancement, P4)




Tracking Status
firefox61 --- fixed


(Reporter:, Unassigned)




(Whiteboard: [wptsync downstream][domsecurity-backlog])

Sync web-platform-tests PR 10467 into mozilla-central (this bug is closed when the sync is complete).

Details from upstream follow.

Alex Moshchuk <> wrote:
>  Reland 2: Use PostTask to schedule cross-process postMessage forwarding.
>  Changes from first reland attempt at
>  - fix an additional source of flakiness in ChromeOS login tests
>  Changes from original attempt at
>  - fix flakiness in two additional ChromeOS login tests
>  - fix CSP WPT tests to not depend on ordering between iframe's onload
>    and postMessage - see
>  Previously, we sent the IPC to forward a cross-process postMessage
>  immediately.  This caused a behavioral difference from the
>  same-process case where the postMessage is always scheduled.  Namely,
>  in a scenario like this:
>    frame.postMessage(...);
>    doSomethingThatSendsIPCsToFrame(frame);
>  the IPCs from JS following the postMessage would've been ordered
>  incorrectly, causing |frame| to see their side effects after the
>  postMessage dispatch in the cross-process case, whereas they would be
>  seen before the postMessage dispatch in the same-process case.  One
>  example of this is frame.focus(), and another is a frame element
>  onload event (dispatched via FrameHostMsg_DispatchLoad) arriving after
>  a postMessage dispatched from an inline script while the frame was
>  still loading.
>  To resolve these ordering concerns, this CL changes cross-process
>  postMessage to do a PostTask on the sender side before sending the
>  message to the browser process.  This improves the current state of
>  the world, but does not yet achieve a perfect match for the IPC
>  ordering in the same-process case - see discussion on the bug.
>  Bug: 828529
>  Change-Id: If2cc6591db31471adff0d84ec0b689905e21cdf1
>  Reviewed-on:
>  Reviewed-by: Xiyuan Xia <>
>  Reviewed-by: Daniel Cheng <>
>  Commit-Queue: Alex Moshchuk <>
>  Cr-Original-Commit-Position: refs/heads/master@{#550284}
>  Reviewed-on:
>  Cr-Commit-Position: refs/heads/master@{#550621}
>  Reviewed-on:
>  WPT-Export-Revision: b5e90721cd67e6be343c2599d4e63b1ca1c25a46
Component: web-platform-tests → DOM: Security
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream][domsecurity-backlog]
Ran 16 tests and 225 subtests
OK     : 16
PASS   : 143
FAIL   : 82
Pushed by
[wpt PR 10467] - Reland 2: Use PostTask to schedule cross-process postMessage forwarding., a=testonly
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.