[Webkit-unassigned] [Bug 157198] Web Inspector: Issues inspecting the inspector, pausing on breakpoints causes content to not load

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 29 15:20:44 PDT 2016


--- Comment #2 from Joseph Pecoraro <joepeck at webkit.org> ---
I think I found the issue.

When the Web Inspector itself is paused but the Inspected Page is not paused, then when the Web Inspector Process goes to dispatch a message (evaluating script in the page) we fail.

Here is the chain of events:

      -> sendMessageToBackend( "Network.getResponseBody" )
        -> send Messages::WebInspector::SendMessageToBackend to WebContentProcess

      -> PAUSE evaluating Web Inspector page JavaScript
        -> Run Nested Run Loop

      - receive Messages::WebInspector::SendMessageToBackend message
        -> InspectorNetworkAgent::getResponseBody
          -> InspectorBackendDispatcher::sendMessageToFrontend
            -> WebInspector::sendMessageToFrontend (WebKit2 FrontendClient)
              -> send Messages::WebInspectorUI::SendMessageToFrontend to InspectorProcess

    InspectorProcess* (in nested runloop)
      - receive Messages::WebInspectorUI::SendMessageToFrontend
        -> WebInspectorUI::sendMessageToFrontend
          -> WebInspectorFrontendAPIDispatcher::dispatchMessageAsync
            -> ScriptController::executeScript
              -> Cannot execute script, we are paused, the message NEVER gets sent

So, in this scenario, WebInspectorFrontendAPIDispatcher can queue up messages while the inspector page is paused (something that we don't normally expect).

This also sheds light on another possible issue of APIs (JSContext / WKWebView) attempting to evaluating JavaScript on a paused page will just have their scripts dropped on the floor. However, that has always been the case, so I'm going to address that now.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160429/c8350bb0/attachment-0001.html>

More information about the webkit-unassigned mailing list