| Index: Source/core/inspector/InspectorDOMDebuggerAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorDOMDebuggerAgent.cpp b/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
|
| index d85475d8a0624eefa8af15030ec8699ecb89952c..40c3f1c16a315c02304bede15438fa0de4a03d5e 100644
|
| --- a/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
|
| +++ b/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
|
| @@ -432,22 +432,27 @@ void InspectorDOMDebuggerAgent::updateSubtreeBreakpoints(Node* node, uint32_t ro
|
| updateSubtreeBreakpoints(child, newRootMask, set);
|
| }
|
|
|
| -void InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded(PassRefPtr<JSONObject> eventData, bool synchronous)
|
| +void InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded(PassRefPtr<JSONObject> prpEventData, bool synchronous)
|
| {
|
| - if (!eventData)
|
| + if (!prpEventData)
|
| return;
|
| + RefPtr<JSONObject> eventData = prpEventData;
|
| + InspectorFrontend::Debugger::Reason::Enum breakReason = InspectorFrontend::Debugger::Reason::EventListener;
|
| + if (m_pauseInNextEventListener) {
|
| + m_pauseInNextEventListener = false;
|
| + breakReason = InspectorFrontend::Debugger::Reason::Other;
|
| + eventData = nullptr;
|
| + }
|
| if (synchronous)
|
| - m_debuggerAgent->breakProgram(InspectorFrontend::Debugger::Reason::EventListener, eventData);
|
| + m_debuggerAgent->breakProgram(breakReason, eventData.release());
|
| else
|
| - m_debuggerAgent->schedulePauseOnNextStatement(InspectorFrontend::Debugger::Reason::EventListener, eventData);
|
| + m_debuggerAgent->schedulePauseOnNextStatement(breakReason, eventData.release());
|
| }
|
|
|
| PassRefPtr<JSONObject> InspectorDOMDebuggerAgent::preparePauseOnNativeEventData(const String& eventName, const String* targetName)
|
| {
|
| String fullEventName = (targetName ? listenerEventCategoryType : instrumentationEventCategoryType) + eventName;
|
| - if (m_pauseInNextEventListener) {
|
| - m_pauseInNextEventListener = false;
|
| - } else {
|
| + if (!m_pauseInNextEventListener) {
|
| RefPtr<JSONObject> eventListenerBreakpoints = m_state->getObject(DOMDebuggerAgentState::eventListenerBreakpoints);
|
| JSONObject::iterator it = eventListenerBreakpoints->find(fullEventName);
|
| if (it == eventListenerBreakpoints->end())
|
|
|