Revision 8f1ef70886a1443ccd9980448031c88a44c3faea authored by Ben Pastene on 13 April 2018, 17:03:33 UTC, committed by Chromium WPT Sync on 13 April 2018, 17:03:33 UTC
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}
1 parent 1e5a5fe
History
File Mode Size
baseurl
constructors
interfaces
modules
non-automated
semantics
support
OWNERS -rw-r--r-- 40 bytes
README.md -rw-r--r-- 160 bytes
SharedWorkerPerformanceNow.html -rw-r--r-- 2.0 KB
SharedWorker_blobUrl.html -rw-r--r-- 755 bytes
SharedWorker_dataUrl.html -rw-r--r-- 1.8 KB
WorkerGlobalScope_ErrorEvent_colno.htm -rw-r--r-- 659 bytes
WorkerGlobalScope_ErrorEvent_filename.htm -rw-r--r-- 778 bytes
WorkerGlobalScope_ErrorEvent_lineno.htm -rw-r--r-- 647 bytes
WorkerGlobalScope_ErrorEvent_message.htm -rw-r--r-- 700 bytes
WorkerGlobalScope_close.htm -rw-r--r-- 567 bytes
WorkerGlobalScope_importScripts.htm -rw-r--r-- 425 bytes
WorkerGlobalScope_importScripts_NetworkErr.htm -rw-r--r-- 412 bytes
WorkerGlobalScope_importScripts_NosniffErr.htm -rw-r--r-- 306 bytes
WorkerGlobalScope_setInterval.htm -rw-r--r-- 646 bytes
WorkerGlobalScope_setTimeout.htm -rw-r--r-- 644 bytes
WorkerLocation-origin.sub.window.js -rw-r--r-- 506 bytes
WorkerLocation.htm -rw-r--r-- 531 bytes
WorkerLocation_hash.htm -rw-r--r-- 433 bytes
WorkerLocation_hash_encoding.htm -rw-r--r-- 427 bytes
WorkerLocation_hash_nonexist.htm -rw-r--r-- 413 bytes
WorkerLocation_host.htm -rw-r--r-- 422 bytes
WorkerLocation_hostname.htm -rw-r--r-- 434 bytes
WorkerLocation_href.htm -rw-r--r-- 542 bytes
WorkerLocation_pathname.htm -rw-r--r-- 563 bytes
WorkerLocation_port.htm -rw-r--r-- 422 bytes
WorkerLocation_protocol.htm -rw-r--r-- 434 bytes
WorkerLocation_search.htm -rw-r--r-- 443 bytes
WorkerLocation_search_empty.htm -rw-r--r-- 408 bytes
WorkerLocation_search_fragment.htm -rw-r--r-- 432 bytes
WorkerLocation_search_nonexist.htm -rw-r--r-- 415 bytes
WorkerNavigator_appName.htm -rw-r--r-- 401 bytes
WorkerNavigator_appVersion.htm -rw-r--r-- 410 bytes
WorkerNavigator_onLine.htm -rw-r--r-- 398 bytes
WorkerNavigator_platform.htm -rw-r--r-- 404 bytes
WorkerNavigator_userAgent.htm -rw-r--r-- 407 bytes
WorkerPerformanceNow.html -rw-r--r-- 1.0 KB
Worker_ErrorEvent_bubbles_cancelable.htm -rw-r--r-- 880 bytes
Worker_ErrorEvent_error.htm -rw-r--r-- 1023 bytes
Worker_ErrorEvent_filename.htm -rw-r--r-- 747 bytes
Worker_ErrorEvent_lineno.htm -rw-r--r-- 618 bytes
Worker_ErrorEvent_message.htm -rw-r--r-- 669 bytes
Worker_ErrorEvent_type.htm -rw-r--r-- 662 bytes
Worker_NosniffErr.htm -rw-r--r-- 413 bytes
Worker_basic.htm -rw-r--r-- 837 bytes
Worker_cross_origin_security_err.htm -rw-r--r-- 478 bytes
Worker_dispatchEvent_ErrorEvent.htm -rw-r--r-- 1.1 KB
Worker_script_mimetype.htm -rw-r--r-- 433 bytes
Worker_terminate_event_queue.htm -rw-r--r-- 684 bytes
data-url-shared-window.html -rw-r--r-- 660 bytes
data-url-shared.html -rw-r--r-- 3.2 KB
data-url.html -rw-r--r-- 2.8 KB
interfaces.worker.js -rw-r--r-- 553 bytes
name-property.html -rw-r--r-- 1.1 KB
nested_worker.worker.js -rw-r--r-- 333 bytes
opaque-origin.html -rw-r--r-- 542 bytes
postMessage_DataCloneErr.htm -rw-r--r-- 396 bytes
postMessage_clone_port.htm -rw-r--r-- 859 bytes
postMessage_clone_port_error.htm -rw-r--r-- 407 bytes
postMessage_event_properties.htm -rw-r--r-- 913 bytes
postMessage_ports_readonly_array.htm -rw-r--r-- 773 bytes
postMessage_target_source.htm -rw-r--r-- 554 bytes
shared-worker-name-via-options.html -rw-r--r-- 1.2 KB
worker-performance.worker.js -rw-r--r-- 6.9 KB

README.md

back to top