PlzNavigate: OOPIF requests do not show up in devtools. |
||||||||||||||||
Issue descriptionWhat steps will reproduce the problem? (1) Start Chrome with --site-per-process and --enable-browser-side-navigation (2) Go to http://csreis.github.io/tests/cross-site-iframe.html (3) Open Devtools and the network panel (4) Click "Go cross-site (simple page)" (creates OOPIF) (5) Notice that the request for the subframe does not show up under network requests! Without PlzNavigate, it does show up, although it has issues showing some properties (see issue 750898 ). (6) Click "Go same-site" - that request is showing up fine. (7) Repeat (4) - the cross-process request is still not showing up. This seems to only affect OOPIFs - I've tried it with main frame cross-process navigations, and those requests show up fine.
,
Sep 4 2017
InspectorNetworkAgent::WillSendRequest() not being called before the request is sent, but after its response is received, probably explains this issue (or at least a part of it). See issue 760924 .
,
Oct 13 2017
caseq@: Now that PlzNavigate has launched and there are increasing uses of OOPIFs, can we aim for a fix for this in the short term?
,
Oct 16 2017
As pointed out in https://groups.google.com/a/chromium.org/d/topic/chromium-dev/qN9uEg5yBLA/discussion the OOPIFs will be more common on the Canary channel between 2017-10-16 and 2017-10-23 because of the --site-per-process trial. To improve the web developer experience during the trial, phistuck@ suggested adding a note with a warning about the impact of the trial - I've put together a CL adding a note: https://chromium-review.googlesource.com/#/c/chromium/src/+/721599. See the attached screenshot for how the note ends up looking. We can follow-up in Gerrit to word-smith the note as needed. The note refers to this bug for more details, so let me share a few additional details that might be useful to whoever stumbles upon this bug: - One workaround is to use chrome://net-internals - Another workaround would be to disable the --site-per-process trial from the command line (this will only help for OOPIFs with web content; extensions are put into OOPIFs since M56 and there is currently no way to avoid that): - To opt out of the experiment: Start Chrome with the following cmdline flag: --disable-features=site-per-process - To force into the experiment: Start Chrome with the following cmdline flag: --enable-features=site-per-process - To verify if OOPIFs are present: Visit https://csreis.github.io/tests/cross-site-iframe-simple.html and see if there's a subframe process for it in Chrome's Task Manager.
,
Oct 16 2017
Ooops... I forgot to attach the screenshot in my previous comment :-)
,
Oct 16 2017
I starred it instead, thank you. :)
,
Oct 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9d7a30e2069b6d0bbf54f9ea0ac684d62423053c commit 9d7a30e2069b6d0bbf54f9ea0ac684d62423053c Author: Lukasz Anforowicz <lukasza@chromium.org> Date: Tue Oct 17 20:43:51 2017 Temporary warning about the impact of https://crbug.com/750901 . Bug: 750901 Change-Id: I488198ec1340c0eb7053a159d7699fc049d3443a Reviewed-on: https://chromium-review.googlesource.com/721599 Commit-Queue: Ćukasz Anforowicz <lukasza@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#509515} [modify] https://crrev.com/9d7a30e2069b6d0bbf54f9ea0ac684d62423053c/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
,
Oct 18 2017
caseq@ Tested this issue on Mac OS 10.12.6 and Windows 7 using Chrome version 64.0.3243.0 and could observe as attached in the screen cast. Can you please check and confirm if the fix is working as intended? Thanks..
,
Oct 18 2017
The CL from #c7 is not a real fix, but more of a temporary workaround. We still need to come up with the right long-term fix.
,
Nov 30 2017
I can repro this in 62.0.3202.94 even without --site-per-process, just PlzNavigate.
,
Nov 30 2017
Re #c10: mind providing more details? You are running a page without any OOPIFs and do not see an iframe main request? What's the url?
,
Dec 4 2017
I tested this by just navigating to example.com and inserting an iframe via the console: var i = document.createElement("iframe"); i.src = "http://asdfasfasfasf.test"); document.body.appendChild(i) See attached screenshot of the console and network panel, neither of which show the failed frame request.
,
Dec 8 2017
,
Dec 8 2017
,
Dec 8 2017
,
Dec 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5fc3b9d05fc84e9c7e16905acb6672ede32c9667 commit 5fc3b9d05fc84e9c7e16905acb6672ede32c9667 Author: Dmitry Gozman <dgozman@chromium.org> Date: Wed Dec 13 18:45:22 2017 [DevTools] Implement waitForDebugger for OOPIFs Using NavigationThrottle for this. Since during throttling the navigation has not committed yet, we have to create agent host for soon-to-be-committed frame in advance. Bug: 750901 Change-Id: I88dbd982481b88eeec36209b6bf3ad7f74863200 Reviewed-on: https://chromium-review.googlesource.com/818076 Reviewed-by: Pavel Feldman <pfeldman@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#523835} [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/protocol/target_auto_attacher.cc [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/protocol/target_auto_attacher.h [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/protocol/target_handler.cc [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/protocol/target_handler.h [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/render_frame_devtools_agent_host.cc [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/devtools/render_frame_devtools_agent_host.h [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/content/browser/frame_host/navigation_handle_impl.cc [add] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger-expected.txt [add] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger.js [modify] https://crrev.com/5fc3b9d05fc84e9c7e16905acb6672ede32c9667/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
,
Dec 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/af3324398e7bae7a03b0548414b37a43a9e7e4ed commit af3324398e7bae7a03b0548414b37a43a9e7e4ed Author: Dmitry Gozman <dgozman@chromium.org> Date: Thu Dec 14 18:24:44 2017 Revert "[DevTools] Implement waitForDebugger for OOPIFs" This reverts commit 5fc3b9d05fc84e9c7e16905acb6672ede32c9667. Reason for revert: crashes, see crbug.com/794927. Original change's description: > [DevTools] Implement waitForDebugger for OOPIFs > > Using NavigationThrottle for this. Since during throttling > the navigation has not committed yet, we have to create > agent host for soon-to-be-committed frame in advance. > > Bug: 750901 > Change-Id: I88dbd982481b88eeec36209b6bf3ad7f74863200 > Reviewed-on: https://chromium-review.googlesource.com/818076 > Reviewed-by: Pavel Feldman <pfeldman@chromium.org> > Commit-Queue: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#523835} TBR=dgozman@chromium.org,caseq@chromium.org,pfeldman@chromium.org Change-Id: I367776fd716614f4fd113c2f88ed3bfcbc5ac5c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 750901 Reviewed-on: https://chromium-review.googlesource.com/826496 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#524116} [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/protocol/target_auto_attacher.cc [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/protocol/target_auto_attacher.h [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/protocol/target_handler.cc [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/protocol/target_handler.h [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/render_frame_devtools_agent_host.cc [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/devtools/render_frame_devtools_agent_host.h [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/content/browser/frame_host/navigation_handle_impl.cc [delete] https://crrev.com/42d3293e07474a242d3193db8787e545f3ea6f50/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger-expected.txt [delete] https://crrev.com/42d3293e07474a242d3193db8787e545f3ea6f50/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger.js [modify] https://crrev.com/af3324398e7bae7a03b0548414b37a43a9e7e4ed/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
,
Dec 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/50b30da048e3b3c659fb41dababae34f6afadd36 commit 50b30da048e3b3c659fb41dababae34f6afadd36 Author: Dmitry Gozman <dgozman@chromium.org> Date: Thu Dec 14 21:39:35 2017 Reland "[DevTools] Implement waitForDebugger for OOPIFs" This is a reland of 5fc3b9d05fc84e9c7e16905acb6672ede32c9667 Original change's description: > [DevTools] Implement waitForDebugger for OOPIFs > > Using NavigationThrottle for this. Since during throttling > the navigation has not committed yet, we have to create > agent host for soon-to-be-committed frame in advance. > > Bug: 750901 > Change-Id: I88dbd982481b88eeec36209b6bf3ad7f74863200 > Reviewed-on: https://chromium-review.googlesource.com/818076 > Reviewed-by: Pavel Feldman <pfeldman@chromium.org> > Commit-Queue: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#523835} TBR=pfeldman Bug: 750901 Change-Id: I96e6c083aa0de96799fbd4a529ae97019738ed87 Reviewed-on: https://chromium-review.googlesource.com/826318 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#524191} [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/protocol/target_auto_attacher.cc [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/protocol/target_auto_attacher.h [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/protocol/target_handler.cc [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/protocol/target_handler.h [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/render_frame_devtools_agent_host.cc [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/devtools/render_frame_devtools_agent_host.h [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/content/browser/frame_host/navigation_handle_impl.cc [add] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger-expected.txt [add] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger.js [modify] https://crrev.com/50b30da048e3b3c659fb41dababae34f6afadd36/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d48911db91f5b34f1e13309be79e211ca67699c commit 6d48911db91f5b34f1e13309be79e211ca67699c Author: Dmitry Gozman <dgozman@chromium.org> Date: Thu Dec 21 23:28:37 2017 [DevTools] Properly cleanup TargetHandler::Throttle pointer on desturction It's owned by NavigationHandle and we failed to cleanup the pointer to Throttle from an associated Session instance. Bug: 750901 Change-Id: I7963f17ca4d3c1564030fc1796da5a3921619c0b Reviewed-on: https://chromium-review.googlesource.com/841145 Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#525848} [modify] https://crrev.com/6d48911db91f5b34f1e13309be79e211ca67699c/content/browser/devtools/protocol/target_handler.cc
,
Dec 27 2017
No crashes with protocol::TargetHandler or protocol::TargetAutoAttacher in a signature observed after 65.0.3300.0. Requesting merge of #c18 and #c19 to M64.
,
Dec 27 2017
This bug requires manual review: Reverts referenced in bugdroid comments after merge request. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 2 2018
Tested the issue using #65.0.3309.0 on Mac 10.12.6, Linux Ubuntu 14.04 and Win 10 as per the steps mentioned in comment#0. Observed the network requests int devtools network tab. Please find the attached screencast. Hence adding the verified labels. Thanks!!
,
Jan 2 2018
On a second thought, can we wait until M65? Seems like this bug has been around for a while now. And the changes look quite large?
,
Jan 2 2018
Per discussion over email, this has been tested extensively in canary (over 2 weeks). Approving merge for M64.
,
Jan 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28 commit 65edd9a826574dc5d2d11d82a81ac9e0e2d50d28 Author: Dmitry Gozman <dgozman@chromium.org> Date: Wed Jan 03 01:20:24 2018 Reland "[DevTools] Implement waitForDebugger for OOPIFs" This is a reland of 5fc3b9d05fc84e9c7e16905acb6672ede32c9667 Original change's description: > [DevTools] Implement waitForDebugger for OOPIFs > > Using NavigationThrottle for this. Since during throttling > the navigation has not committed yet, we have to create > agent host for soon-to-be-committed frame in advance. > > Bug: 750901 > Change-Id: I88dbd982481b88eeec36209b6bf3ad7f74863200 > Reviewed-on: https://chromium-review.googlesource.com/818076 > Reviewed-by: Pavel Feldman <pfeldman@chromium.org> > Commit-Queue: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#523835} TBR=dgozman@chromium.org, pfeldman (cherry picked from commit 50b30da048e3b3c659fb41dababae34f6afadd36) Bug: 750901 Change-Id: I96e6c083aa0de96799fbd4a529ae97019738ed87 Reviewed-on: https://chromium-review.googlesource.com/826318 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#524191} Reviewed-on: https://chromium-review.googlesource.com/848319 Cr-Commit-Position: refs/branch-heads/3282@{#388} Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840} [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/protocol/target_auto_attacher.cc [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/protocol/target_auto_attacher.h [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/protocol/target_handler.cc [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/protocol/target_handler.h [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/render_frame_devtools_agent_host.cc [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/devtools/render_frame_devtools_agent_host.h [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/content/browser/frame_host/navigation_handle_impl.cc [add] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger-expected.txt [add] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/target/wait-for-debugger.js [modify] https://crrev.com/65edd9a826574dc5d2d11d82a81ac9e0e2d50d28/third_party/WebKit/Source/devtools/front_end/network_log/NetworkLog.js
,
Jan 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fdbe91fa3a3d644f46ac91ac33af1952fc8a64a9 commit fdbe91fa3a3d644f46ac91ac33af1952fc8a64a9 Author: Dmitry Gozman <dgozman@chromium.org> Date: Wed Jan 03 01:22:39 2018 [DevTools] Properly cleanup TargetHandler::Throttle pointer on desturction It's owned by NavigationHandle and we failed to cleanup the pointer to Throttle from an associated Session instance. TBR=dgozman@chromium.org (cherry picked from commit 6d48911db91f5b34f1e13309be79e211ca67699c) Bug: 750901 Change-Id: I7963f17ca4d3c1564030fc1796da5a3921619c0b Reviewed-on: https://chromium-review.googlesource.com/841145 Reviewed-by: Andrey Kosyakov <caseq@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#525848} Reviewed-on: https://chromium-review.googlesource.com/848320 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/branch-heads/3282@{#389} Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840} [modify] https://crrev.com/fdbe91fa3a3d644f46ac91ac33af1952fc8a64a9/content/browser/devtools/protocol/target_handler.cc
,
Jan 25 2018
The DevTools UI warning landed in #7 is still showing at ToT (and it uses a HTTP link instead of HTTPS). Can this be removed?
,
Jan 25 2018
Good catch! I'll make a patch.
,
Jan 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/63b3fdd6748b1853404301e3e03a28b600b7e67b commit 63b3fdd6748b1853404301e3e03a28b600b7e67b Author: Dmitry Gozman <dgozman@chromium.org> Date: Sat Jan 27 15:25:36 2018 [DevTools] Remove OOPIF notice in Network Panel We now fully support network from OOPIFs, so the notice is not needed anymore. Bug: 750901 Change-Id: If7bc2a291a35cbc9acc55c9248dd3a9f0efa994c Reviewed-on: https://chromium-review.googlesource.com/887630 Reviewed-by: Andrey Lushnikov <lushnikov@chromium.org> Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#532222} [modify] https://crrev.com/63b3fdd6748b1853404301e3e03a28b600b7e67b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
,
Jan 31 2018
Tested the issue using #66.0.3335.0 on Mac 10.13.1, Ubuntu 14.04 and Win 10 as per the steps mentioned in comment#0. Observed the network requests in devtools network tab. Please find the attached screencast. But as per comment#28,#30-- Not seeing any devtools UI warning either in 66.0.3330.0 or 66.0.3334.0 [Builds before fix] @dgozman: Could you please check the video and let us know the expected behaviour as per comment#28,#30 and please confirm the fix. Thanks!
,
Jan 31 2018
The video looks correct. The warning was there before on the empty Network Panel (like when Network Panel was opened in the video), right under "Perform a request...." text. You can use "Clear" button at the top left at any moment to clear the panel and check whether warning is there. Thank you for verification! |
||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||
Comment 1 by dgozman@chromium.org
, Aug 3 2017Status: Assigned (was: Available)