[ServiceWorker] Fix the timing of state transition in NewScriptLoader
ServiceWorkerNewScriptLoader uses an internal variable called |network_loader_state_| to control the state of URLLoaderClient. This state is changed from kLoadingHeader to kWaitingForBody at the end of OnReceiveResponse(). However, WriteHeaders() could call OnWriteHeadersComplete() synchronously and it calls MaybeStartNetworkConsumerHandleWatcher() when |network_loader_state_| is set to kLoadingHeader. And later OnStartLoadingResponseBody() calls MaybeStartNetworkConsumerHandleWatcher() again and hits DCHECK_EQ(kNotStarted, body_writer_state_). Change-Id: I3b9450ca53e6b98423d532ea02134d002d7753b6 Reviewed-on: https://chromium-review.googlesource.com/1237634Reviewed-by:Makoto Shimazu <shimazu@chromium.org> Commit-Queue: Momoko Hattori <momohatt@google.com> Cr-Commit-Position: refs/heads/master@{#593809}
Showing
Please register or sign in to comment