• Clark DuVall's avatar
    Fixes DevToolsFrontendInWebRequestApiTest.HiddenRequests with network service · 76349e5b
    Clark DuVall authored
    This test was timing out with network service enabled, due to the
    difference in behavior of the web request API in the network service.
    With network service enabled, when the first web request rule or
    listener is added, we reset all current URLLoaderFactories so they will
    be proxied through WebRequestAPI. They are then rebound when the
    connection error handler runs. This can lead to a situation where
    messages are dropped, due to the error message arriving asynchronously.
    For example:
    
    (1) First web request listener added, URLLoaderFactory bindings cleared
    (2) CreateLoaderAndStart is called on an existing URLLoaderFactory
    (3) Error message reaches existing URLLoaderFactories, and they are reset
    
    Due to the way mojo pipes work, the message from (2) will be dropped.
    This change makes that much less likely by clearing the URLLoaderFactory
    in the storage partition directly instead of waiting for the error
    handler to be called.
    
    Bug: 721414
    Cq-Include-Trybots: luci.chromium.try:linux_mojo
    Change-Id: I633e3ea933f9170767371fde697bc9de2a5258af
    Reviewed-on: https://chromium-review.googlesource.com/1147072Reviewed-by: default avatarKaran Bhatia <karandeepb@chromium.org>
    Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
    Commit-Queue: Clark DuVall <cduvall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#577716}
    76349e5b
storage_partition.h 9.26 KB