Open Bug 1454039 Opened 2 years ago Updated 2 years ago

[wpt-sync] Sync PR 10463 - Revert "Reland: Use PostTask to schedule cross-process postMessage forwarding."

Categories

(Testing :: web-platform-tests, enhancement, P4)

enhancement

Tracking

(Not tracked)

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream error])

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

PR: https://github.com/w3c/web-platform-tests/pull/10463
Details from upstream follow.

Ben Pastene <bpastene@chromium.org> wrote:
>  Revert "Reland: Use PostTask to schedule cross-process postMessage forwarding."
>  
>  This reverts commit 7c3d1d13f940e88ef6706fd8b5c257a81d340ed9.
>  
>  Reason for revert: WebviewLoginTest.Basic is still flaky on linux-chromeos-rel
>  https://ci.chromium.org/buildbot/chromium.chromiumos/linux-chromeos-rel/6886
>  https://ci.chromium.org/buildbot/chromium.chromiumos/linux-chromeos-rel/6887
>  
>  
>  Original change's description:
>  > Reland: Use PostTask to schedule cross-process postMessage forwarding.
>  > 
>  > Changes from original attempt at https://crrev.com/c/999182:
>  > - fix flakiness in two additional ChromeOS login tests
>  > - fix CSP WPT tests to not depend on ordering between iframe's onload
>  >   and postMessage - see https://crbug.com/832319.
>  > 
>  > 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: I62a627c501526d09900be4f5bd2c899acf4d1e07
>  > Reviewed-on: https://chromium-review.googlesource.com/999182
>  > Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
>  > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
>  > Commit-Queue: Alex Moshchuk <alexmos@chromium.org>
>  > Cr-Original-Commit-Position: refs/heads/master@{#550284}
>  > Reviewed-on: https://chromium-review.googlesource.com/1011287
>  > Cr-Commit-Position: refs/heads/master@{#550621}
>  
>  TBR=xiyuan@chromium.org,dcheng@chromium.org,alexmos@chromium.org
>  
>  Change-Id: Ic0637a6038bed6e5334a26e1934bee81faad3b9e
>  No-Presubmit: true
>  No-Tree-Checks: true
>  No-Try: true
>  Bug: 828529
>  Reviewed-on: https://chromium-review.googlesource.com/1012138
>  Reviewed-by: Ben Pastene <bpastene@chromium.org>
>  Commit-Queue: Ben Pastene <bpastene@chromium.org>
>  Cr-Commit-Position: refs/heads/master@{#550649}
>
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Ran 16 tests and 225 subtests
OK     : 16
PASS   : 143
FAIL   : 82
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2e40cf6fa01c
[wpt PR 10463] - Revert "Reland: Use PostTask to schedule cross-process postMessage forwarding.", a=testonly
You need to log in before you can comment on or make changes to this bug.