OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
183 class DebuggerTask : public PageScriptDebugServer::Task { | 183 class DebuggerTask : public PageScriptDebugServer::Task { |
184 public: | 184 public: |
185 DebuggerTask(PassOwnPtr<WebDevToolsAgent::MessageDescriptor> descriptor) | 185 DebuggerTask(PassOwnPtr<WebDevToolsAgent::MessageDescriptor> descriptor) |
186 : m_descriptor(descriptor) | 186 : m_descriptor(descriptor) |
187 { | 187 { |
188 } | 188 } |
189 | 189 |
190 virtual ~DebuggerTask() { } | 190 virtual ~DebuggerTask() { } |
191 virtual void run() | 191 virtual void run() |
192 { | 192 { |
193 if (WebDevToolsAgent* webagent = m_descriptor->agent()) | 193 WebDevToolsAgent* webagent = m_descriptor->agent(); |
194 webagent->dispatchOnInspectorBackend(m_descriptor->message()); | 194 if (!webagent) |
195 return; | |
196 | |
197 WebDevToolsAgentImpl* agentImpl = static_cast<WebDevToolsAgentImpl*>(web agent); | |
198 agentImpl->inspectorController()->dispatchMessageFromFrontend(m_descript or->message()); | |
pfeldman
2015/02/17 09:23:16
check for m_attached is missing.
yurys
2015/02/17 09:44:00
It might make sense to extract
if (m_attached)
sergeyv
2015/02/17 11:32:59
Done.
| |
195 } | 199 } |
196 | 200 |
197 private: | 201 private: |
198 OwnPtr<WebDevToolsAgent::MessageDescriptor> m_descriptor; | 202 OwnPtr<WebDevToolsAgent::MessageDescriptor> m_descriptor; |
199 }; | 203 }; |
200 | 204 |
201 WebDevToolsAgentImpl::WebDevToolsAgentImpl( | 205 WebDevToolsAgentImpl::WebDevToolsAgentImpl( |
202 WebViewImpl* webViewImpl, | 206 WebViewImpl* webViewImpl, |
203 WebDevToolsAgentClient* client) | 207 WebDevToolsAgentClient* client) |
204 : m_layerTreeId(0) | 208 : m_layerTreeId(0) |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
437 m_generatingEvent = true; | 441 m_generatingEvent = true; |
438 WebMouseEvent webEvent = WebMouseEventBuilder(m_webViewImpl->mainFrameImpl() ->frameView(), event); | 442 WebMouseEvent webEvent = WebMouseEventBuilder(m_webViewImpl->mainFrameImpl() ->frameView(), event); |
439 m_webViewImpl->handleInputEvent(webEvent); | 443 m_webViewImpl->handleInputEvent(webEvent); |
440 m_generatingEvent = false; | 444 m_generatingEvent = false; |
441 } | 445 } |
442 | 446 |
443 void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message) | 447 void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message) |
444 { | 448 { |
445 if (!m_attached) | 449 if (!m_attached) |
446 return; | 450 return; |
447 inspectorController()->dispatchMessageFromFrontend(message); | 451 if (WebDevToolsAgent::shouldInterruptForMessage(message)) |
452 PageScriptDebugServer::shared().runPendingTasks(); | |
453 else | |
454 inspectorController()->dispatchMessageFromFrontend(message); | |
448 } | 455 } |
449 | 456 |
450 void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& point) | 457 void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& point) |
451 { | 458 { |
452 m_webViewImpl->inspectElementAt(point); | 459 m_webViewImpl->inspectElementAt(point); |
453 } | 460 } |
454 | 461 |
455 InspectorController* WebDevToolsAgentImpl::inspectorController() | 462 InspectorController* WebDevToolsAgentImpl::inspectorController() |
456 { | 463 { |
457 if (Page* page = m_webViewImpl->page()) | 464 if (Page* page = m_webViewImpl->page()) |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
576 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke ndDispatcher::kDebugger_removeBreakpointCmd) | 583 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke ndDispatcher::kDebugger_removeBreakpointCmd) |
577 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke ndDispatcher::kDebugger_setBreakpointsActiveCmd); | 584 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke ndDispatcher::kDebugger_setBreakpointsActiveCmd); |
578 } | 585 } |
579 | 586 |
580 void WebDevToolsAgent::processPendingMessages() | 587 void WebDevToolsAgent::processPendingMessages() |
581 { | 588 { |
582 PageScriptDebugServer::shared().runPendingTasks(); | 589 PageScriptDebugServer::shared().runPendingTasks(); |
583 } | 590 } |
584 | 591 |
585 } // namespace blink | 592 } // namespace blink |
OLD | NEW |