New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 772402 link

Starred by 12 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Async XHR requests blocking with dev tools open

Reported by pas...@logrocket.com, Oct 6 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Steps to reproduce the problem:
1. Open the dev tools
2. Send a large XHR request
3. Watch everything block while it sends

What is the expected behavior?
Async requests should be non-blocking.

What went wrong?
Trying to profile with the performance tab becomes very misleading with this behavior, since everything piles up behind these requests that aren't actually blocking.

Attached a simple test case, requires a dummy server that does nothing.

Did this work before? N/A 

Chrome version: 61.0.3163.100  Channel: stable
OS Version: OS X 10.12.6
Flash Version: 

Tested in Chrome 61 and Canary 63
 
test.html
972 bytes View Download

Comment 1 by alph@chromium.org, Oct 9 2017

Cc: caseq@chromium.org
Components: -Platform>DevTools Platform>DevTools>Network
Owner: allada@chromium.org
Status: Assigned (was: Unconfirmed)
Able to repro. It seems to spend most of the time 1200ms in DevToolsAgent::OnDispatchOnInspectorBackend right after request being sent. Is it pushing the data through the network agent?

Also it hangs when I try to select the request on the network panel.
Owner: eostroukhov@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/927fd20565f2e2192a61f17013816d2cf3f9720b

commit 927fd20565f2e2192a61f17013816d2cf3f9720b
Author: Eugene Ostroukhov <eostroukhov@chromium.org>
Date: Thu Jan 11 20:36:25 2018

DevTools: allow lazy loading for request data

A new optional parameter had been added to Network.Enable -
"maxPostBodySize". Setting it to a non-zero value limits request
body sizes that are sent with the requestWillBeSent notification.
A new "getRequestPostBody" function was added to fetch request bodies.

All request bodies will be sent to the client if the "maxPostBodySize"
was not set or was set to 0.

Bug:  772402 
Change-Id: Ib6b4b96fb2ba002fbeeb633fa1de89d45d1ad0e9
Reviewed-on: https://chromium-review.googlesource.com/849117
Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528738}
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/content/browser/devtools/protocol/network_handler.cc
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/content/browser/devtools/protocol/network_handler.h
[add] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/get-request-post-data-expected.txt
[add] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/get-request-post-data.js
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.h
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/NetworkResourcesData.cpp
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/NetworkResourcesData.h
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/inspector/browser_protocol.pdl
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/probe/CoreProbes.pidl
[modify] https://crrev.com/927fd20565f2e2192a61f17013816d2cf3f9720b/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a76526deb87e96bfbedbad2b27d11eadf5c9da4

commit 5a76526deb87e96bfbedbad2b27d11eadf5c9da4
Author: Eugene Ostroukhov <eostroukhov@chromium.org>
Date: Mon Jan 22 21:31:51 2018

DevTools: lazy load request data exceeding 64k

Configure Network domain to only send request bodies bigger then 64k
when required by the user.

Bug:  772402 
Change-Id: Iae63d58efe2c67904458cb8b163a2eb8d4b4e65f
Reviewed-on: https://chromium-review.googlesource.com/862703
Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531001}
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/curl-command.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-cookies-pane.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-fetch-post-payload.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-filter-updated-requests.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-update-calculator-for-all-requests.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-xhr-post-payload.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-xhr-redirect-body.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/network/network-xhr-replay.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/resource-har-conversion.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/resource-har-headers.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/resource-parameters-ipv6.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/LayoutTests/http/tests/devtools/resource-parameters.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/har_importer/HARImporter.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/network/HARWriter.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/network/RequestHeadersView.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/network_log/HAREntry.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/sdk/NetworkManager.js
[modify] https://crrev.com/5a76526deb87e96bfbedbad2b27d11eadf5c9da4/third_party/WebKit/Source/devtools/front_end/sdk/NetworkRequest.js

Status: Fixed (was: Assigned)
Cc: eostroukhov@chromium.org
 Issue 779528  has been merged into this issue.

Sign in to add a comment