| Index: Source/web/WebDevToolsAgentImpl.cpp
|
| diff --git a/Source/web/WebDevToolsAgentImpl.cpp b/Source/web/WebDevToolsAgentImpl.cpp
|
| index 44305b61c853a28a67cf7da6f0fc1e535a46e0a1..452c9c17859528dda71436da251db4b33f73bab5 100644
|
| --- a/Source/web/WebDevToolsAgentImpl.cpp
|
| +++ b/Source/web/WebDevToolsAgentImpl.cpp
|
| @@ -117,6 +117,11 @@ private:
|
| return;
|
| m_running = true;
|
|
|
| + // 0. Flush pending frontend messages.
|
| + WebViewImpl* viewImpl = WebViewImpl::fromPage(page);
|
| + WebDevToolsAgentImpl* agent = static_cast<WebDevToolsAgentImpl*>(viewImpl->devToolsAgent());
|
| + agent->flushPendingFrontendMessages();
|
| +
|
| Vector<WebViewImpl*> views;
|
|
|
| // 1. Disable input events.
|
| @@ -567,9 +572,7 @@ void WebDevToolsAgentImpl::sendMessageToFrontend(PassRefPtr<WebCore::JSONObject>
|
|
|
| void WebDevToolsAgentImpl::flush()
|
| {
|
| - for (size_t i = 0; i < m_frontendMessageQueue.size(); ++i)
|
| - m_client->sendMessageToInspectorFrontend(m_frontendMessageQueue[i]->toJSONString());
|
| - m_frontendMessageQueue.clear();
|
| + flushPendingFrontendMessages();
|
| }
|
|
|
| void WebDevToolsAgentImpl::updateInspectorStateCookie(const String& state)
|
| @@ -603,18 +606,31 @@ void WebDevToolsAgentImpl::evaluateInWebInspector(long callId, const WebString&
|
| ic->evaluateForTestInFrontend(callId, script);
|
| }
|
|
|
| +void WebDevToolsAgentImpl::flushPendingFrontendMessages()
|
| +{
|
| + InspectorController* ic = inspectorController();
|
| + ic->flushPendingFrontendMessages();
|
| +
|
| + for (size_t i = 0; i < m_frontendMessageQueue.size(); ++i)
|
| + m_client->sendMessageToInspectorFrontend(m_frontendMessageQueue[i]->toJSONString());
|
| + m_frontendMessageQueue.clear();
|
| +}
|
| +
|
| void WebDevToolsAgentImpl::willProcessTask()
|
| {
|
| + if (!m_attached)
|
| + return;
|
| if (InspectorController* ic = inspectorController())
|
| ic->willProcessTask();
|
| }
|
|
|
| void WebDevToolsAgentImpl::didProcessTask()
|
| {
|
| + if (!m_attached)
|
| + return;
|
| if (InspectorController* ic = inspectorController())
|
| ic->didProcessTask();
|
| - if (m_attached)
|
| - flush();
|
| + flushPendingFrontendMessages();
|
| }
|
|
|
| WebString WebDevToolsAgent::inspectorProtocolVersion()
|
|
|