Calling ProcessNavigation from inside the callback of SetVirtualTimePolicy delays other callbacks |
||||||
Issue description1. Call SetVirtualTimePolicy. 2. In the callback of the above command, call ProcessNavigation => Result of ProcessNavigation is not delivered until some other command is sent (?)
,
Nov 29 2016
To clarify: We create the headless browser with navigation controls, but initially without a virtual time policy. Once the first navigation request comes in, we set up virtual time and, in the callback, allow the navigation. For any subsequent request that goes to a different domain, this happens: 1. navigationRequested fires 2. client calls setVirtualTimePolicy 3. In https://cs.chromium.org/chromium/src/content/browser/devtools/render_frame_devtools_agent_host.cc, the messages are buffered due to a pending navigation ... Now, there's a deadlock, because the embedder is waiting for the callback of setVirtualTimePolicy, and the devtools agent waits for the navigation to go through to handle any other pending messages.
,
Nov 29 2016
To add one more detail, IIRC the buffering happens because the navigation could result in a new renderer getting spawned and we don't want the commands following the navigation ending up in the old renderer. We could either document this limitation or perhaps come up with a way to set a default virtual time policy for new pages/renderers so the call would become unnecessary. Alternatively we could change the render process policy to keep everything in the same renderer which would remove the need to buffer commands.
,
Nov 29 2016
,
May 15 2017
,
May 15 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 16 2018
,
Nov 26
*** UI Mass Triage *** Closing due to inactivity, feel free to reopen if needed. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by ajha@chromium.org
, Nov 28 2016