Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1078)

Unified Diff: Source/core/inspector/InspectorDOMDebuggerAgent.cpp

Issue 322893006: Revert of DevTools: Expand protocol to allow setting DOM event breakpoints on a given event target. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/inspector/InspectorDOMDebuggerAgent.h ('k') | Source/devtools/protocol.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/inspector/InspectorDOMDebuggerAgent.cpp
diff --git a/Source/core/inspector/InspectorDOMDebuggerAgent.cpp b/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
index 631671f39b5ecc24b18db83ae074e48aede263f8..bedc03bd1118731b97098b3c9adefeb3f952cb9a 100644
--- a/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
+++ b/Source/core/inspector/InspectorDOMDebuggerAgent.cpp
@@ -69,7 +69,6 @@
namespace DOMDebuggerAgentState {
static const char eventListenerBreakpoints[] = "eventListenerBreakpoints";
-static const char eventTargetAny[] = "*";
static const char pauseOnAllXHRs[] = "pauseOnAllXHRs";
static const char xhrBreakpoints[] = "xhrBreakpoints";
}
@@ -154,28 +153,17 @@
m_debuggerAgent = 0;
}
-void InspectorDOMDebuggerAgent::setEventListenerBreakpoint(ErrorString* error, const String& eventName, const String* targetName)
-{
- setBreakpoint(error, String(listenerEventCategoryType) + eventName, targetName);
+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, 0);
-}
-
-static PassRefPtr<JSONObject> ensurePropertyObject(JSONObject* object, const String& propertyName)
-{
- JSONObject::iterator it = object->find(propertyName);
- if (it != object->end())
- return it->value->asObject();
-
- RefPtr<JSONObject> result = JSONObject::create();
- object->setObject(propertyName, result);
- return result.release();
-}
-
-void InspectorDOMDebuggerAgent::setBreakpoint(ErrorString* error, const String& eventName, const String* targetName)
+ setBreakpoint(error, String(instrumentationEventCategoryType) + eventName);
+}
+
+void InspectorDOMDebuggerAgent::setBreakpoint(ErrorString* error, const String& eventName)
{
if (eventName.isEmpty()) {
*error = "Event name is empty";
@@ -183,25 +171,21 @@
}
RefPtr<JSONObject> eventListenerBreakpoints = m_state->getObject(DOMDebuggerAgentState::eventListenerBreakpoints);
- RefPtr<JSONObject> breakpointsByTarget = ensurePropertyObject(eventListenerBreakpoints.get(), eventName);
- if (!targetName || targetName->isEmpty())
- breakpointsByTarget->setBoolean(DOMDebuggerAgentState::eventTargetAny, true);
- else
- breakpointsByTarget->setBoolean(targetName->lower(), true);
- m_state->setObject(DOMDebuggerAgentState::eventListenerBreakpoints, eventListenerBreakpoints.release());
-}
-
-void InspectorDOMDebuggerAgent::removeEventListenerBreakpoint(ErrorString* error, const String& eventName, const String* targetName)
-{
- removeBreakpoint(error, String(listenerEventCategoryType) + eventName, targetName);
+ eventListenerBreakpoints->setBoolean(eventName, true);
+ m_state->setObject(DOMDebuggerAgentState::eventListenerBreakpoints, eventListenerBreakpoints);
+}
+
+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, 0);
-}
-
-void InspectorDOMDebuggerAgent::removeBreakpoint(ErrorString* error, const String& eventName, const String* targetName)
+ removeBreakpoint(error, String(instrumentationEventCategoryType) + eventName);
+}
+
+void InspectorDOMDebuggerAgent::removeBreakpoint(ErrorString* error, const String& eventName)
{
if (eventName.isEmpty()) {
*error = "Event name is empty";
@@ -209,12 +193,8 @@
}
RefPtr<JSONObject> eventListenerBreakpoints = m_state->getObject(DOMDebuggerAgentState::eventListenerBreakpoints);
- RefPtr<JSONObject> breakpointsByTarget = ensurePropertyObject(eventListenerBreakpoints.get(), eventName);
- if (!targetName || targetName->isEmpty())
- breakpointsByTarget->remove(DOMDebuggerAgentState::eventTargetAny);
- else
- breakpointsByTarget->remove(targetName->lower());
- m_state->setObject(DOMDebuggerAgentState::eventListenerBreakpoints, eventListenerBreakpoints.release());
+ eventListenerBreakpoints->remove(eventName);
+ m_state->setObject(DOMDebuggerAgentState::eventListenerBreakpoints, eventListenerBreakpoints);
}
void InspectorDOMDebuggerAgent::didInvalidateStyleAttr(Node* node)
@@ -417,75 +397,65 @@
m_debuggerAgent->schedulePauseOnNextStatement(InspectorFrontend::Debugger::Reason::EventListener, eventData);
}
-PassRefPtr<JSONObject> InspectorDOMDebuggerAgent::preparePauseOnNativeEventData(const String& eventName, const AtomicString* targetName)
-{
- String fullEventName = (targetName ? listenerEventCategoryType : instrumentationEventCategoryType) + eventName;
- if (m_pauseInNextEventListener) {
+PassRefPtr<JSONObject> InspectorDOMDebuggerAgent::preparePauseOnNativeEventData(bool isDOMEvent, const String& eventName)
+{
+ String fullEventName = (isDOMEvent ? listenerEventCategoryType : instrumentationEventCategoryType) + eventName;
+ if (m_pauseInNextEventListener)
m_pauseInNextEventListener = false;
- } else {
+ else {
RefPtr<JSONObject> eventListenerBreakpoints = m_state->getObject(DOMDebuggerAgentState::eventListenerBreakpoints);
- JSONObject::iterator it = eventListenerBreakpoints->find(fullEventName);
- if (it == eventListenerBreakpoints->end())
- return nullptr;
- bool match = false;
- RefPtr<JSONObject> breakpointsByTarget = it->value->asObject();
- breakpointsByTarget->getBoolean(DOMDebuggerAgentState::eventTargetAny, &match);
- if (!match && targetName)
- breakpointsByTarget->getBoolean(targetName->lower(), &match);
- if (!match)
+ if (eventListenerBreakpoints->find(fullEventName) == eventListenerBreakpoints->end())
return nullptr;
}
RefPtr<JSONObject> eventData = JSONObject::create();
eventData->setString("eventName", fullEventName);
- if (targetName)
- eventData->setString("targetName", *targetName);
return eventData.release();
}
void InspectorDOMDebuggerAgent::didInstallTimer(ExecutionContext*, int, int, bool)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(setTimerEventName, 0), true);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, setTimerEventName), true);
}
void InspectorDOMDebuggerAgent::didRemoveTimer(ExecutionContext*, int)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(clearTimerEventName, 0), true);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, clearTimerEventName), true);
}
void InspectorDOMDebuggerAgent::willFireTimer(ExecutionContext*, int)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(timerFiredEventName, 0), false);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, timerFiredEventName), false);
}
void InspectorDOMDebuggerAgent::didRequestAnimationFrame(Document*, int)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(requestAnimationFrameEventName, 0), true);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, requestAnimationFrameEventName), true);
}
void InspectorDOMDebuggerAgent::didCancelAnimationFrame(Document*, int)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(cancelAnimationFrameEventName, 0), true);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, cancelAnimationFrameEventName), true);
}
void InspectorDOMDebuggerAgent::willFireAnimationFrame(Document*, int)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(animationFrameFiredEventName, 0), false);
-}
-
-void InspectorDOMDebuggerAgent::willHandleEvent(EventTarget* target, const AtomicString& eventType, EventListener*, bool)
-{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(eventType, &target->interfaceName()), false);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, animationFrameFiredEventName), false);
+}
+
+void InspectorDOMDebuggerAgent::willHandleEvent(EventTarget*, const AtomicString& eventType, EventListener*, bool)
+{
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(true, eventType), false);
}
void InspectorDOMDebuggerAgent::willExecuteCustomElementCallback(Element*)
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(customElementCallbackName, 0), false);
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, customElementCallbackName), false);
}
void InspectorDOMDebuggerAgent::didFireWebGLError(const String& errorName)
{
- RefPtr<JSONObject> eventData = preparePauseOnNativeEventData(webglErrorFiredEventName, 0);
+ RefPtr<JSONObject> eventData = preparePauseOnNativeEventData(false, webglErrorFiredEventName);
if (!eventData)
return;
if (!errorName.isEmpty())
@@ -495,7 +465,7 @@
void InspectorDOMDebuggerAgent::didFireWebGLWarning()
{
- pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(webglWarningFiredEventName, 0), m_debuggerAgent->canBreakProgram());
+ pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(false, webglWarningFiredEventName), m_debuggerAgent->canBreakProgram());
}
void InspectorDOMDebuggerAgent::didFireWebGLErrorOrWarning(const String& message)
@@ -515,7 +485,7 @@
RefPtr<JSONObject> xhrBreakpoints = m_state->getObject(DOMDebuggerAgentState::xhrBreakpoints);
xhrBreakpoints->setBoolean(url, true);
- m_state->setObject(DOMDebuggerAgentState::xhrBreakpoints, xhrBreakpoints.release());
+ m_state->setObject(DOMDebuggerAgentState::xhrBreakpoints, xhrBreakpoints);
}
void InspectorDOMDebuggerAgent::removeXHRBreakpoint(ErrorString*, const String& url)
@@ -527,7 +497,7 @@
RefPtr<JSONObject> xhrBreakpoints = m_state->getObject(DOMDebuggerAgentState::xhrBreakpoints);
xhrBreakpoints->remove(url);
- m_state->setObject(DOMDebuggerAgentState::xhrBreakpoints, xhrBreakpoints.release());
+ m_state->setObject(DOMDebuggerAgentState::xhrBreakpoints, xhrBreakpoints);
}
void InspectorDOMDebuggerAgent::willSendXMLHttpRequest(const String& url)
« no previous file with comments | « Source/core/inspector/InspectorDOMDebuggerAgent.h ('k') | Source/devtools/protocol.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698