| Index: Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	(revision 108453)
 | 
| +++ Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	(working copy)
 | 
| @@ -38,6 +38,7 @@
 | 
|  #include "InspectorAgent.h"
 | 
|  #include "InspectorDOMAgent.h"
 | 
|  #include "InspectorDebuggerAgent.h"
 | 
| +#include "InspectorInstrumentation.h"
 | 
|  #include "InspectorState.h"
 | 
|  #include "InspectorValues.h"
 | 
|  #include "InstrumentingAgents.h"
 | 
| @@ -52,6 +53,9 @@
 | 
|      DOMBreakpointTypesCount
 | 
|  };
 | 
|  
 | 
| +static const char* const listenerEventCategoryType = "listener:";
 | 
| +static const char* const instrumentationEventCategoryType = "instrumentation:";
 | 
| +
 | 
|  static const char* const domNativeBreakpointType = "DOM";
 | 
|  static const char* const eventListenerNativeBreakpointType = "EventListener";
 | 
|  static const char* const xhrNativeBreakpointType = "XHR";
 | 
| @@ -124,6 +128,16 @@
 | 
|  
 | 
|  void InspectorDOMDebuggerAgent::setEventListenerBreakpoint(ErrorString* error, const String& eventName)
 | 
|  {
 | 
| +    setBreakpoint(error, String(listenerEventCategoryType) + eventName);
 | 
| +}
 | 
| +
 | 
| +void InspectorDOMDebuggerAgent::setInstrumentationBreakpoint(ErrorString* error, const String& eventName)
 | 
| +{
 | 
| +    setBreakpoint(error, String(instrumentationEventCategoryType) + eventName);
 | 
| +}
 | 
| +
 | 
| +void InspectorDOMDebuggerAgent::setBreakpoint(ErrorString* error, const String& eventName)
 | 
| +{
 | 
|      if (eventName.isEmpty()) {
 | 
|          *error = "Event name is empty";
 | 
|          return;
 | 
| @@ -136,6 +150,16 @@
 | 
|  
 | 
|  void InspectorDOMDebuggerAgent::removeEventListenerBreakpoint(ErrorString* error, const String& eventName)
 | 
|  {
 | 
| +    removeBreakpoint(error, String(listenerEventCategoryType) + eventName);
 | 
| +}
 | 
| +
 | 
| +void InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint(ErrorString* error, const String& eventName)
 | 
| +{
 | 
| +    removeBreakpoint(error, String(instrumentationEventCategoryType) + eventName);
 | 
| +}
 | 
| +
 | 
| +void InspectorDOMDebuggerAgent::removeBreakpoint(ErrorString* error, const String& eventName)
 | 
| +{
 | 
|      if (eventName.isEmpty()) {
 | 
|          *error = "Event name is empty";
 | 
|          return;
 | 
| @@ -333,9 +357,9 @@
 | 
|          updateSubtreeBreakpoints(child, newRootMask, set);
 | 
|  }
 | 
|  
 | 
| -void InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded(const String& categoryType, const String& eventName, bool synchronous)
 | 
| +void InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded(bool isDOMEvent, const String& eventName, bool synchronous)
 | 
|  {
 | 
| -    String fullEventName = categoryType + ':' + eventName;
 | 
| +    String fullEventName = (isDOMEvent ? listenerEventCategoryType : instrumentationEventCategoryType) + eventName;
 | 
|      RefPtr<InspectorObject> eventListenerBreakpoints = m_state->getObject(DOMDebuggerAgentState::eventListenerBreakpoints);
 | 
|      if (eventListenerBreakpoints->find(fullEventName) == eventListenerBreakpoints->end())
 | 
|          return;
 | 
| 
 |