Title: [95634] trunk/Source/WebCore
Revision
95634
Author
[email protected]
Date
2011-09-21 08:39:53 -0700 (Wed, 21 Sep 2011)

Log Message

Web Inspector: add minimal error handling to the DOM breakpoints.
https://bugs.webkit.org/show_bug.cgi?id=68537

Reviewed by Yury Semikhatsky.

* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::domTypeForName):
(WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (95633 => 95634)


--- trunk/Source/WebCore/ChangeLog	2011-09-21 15:36:47 UTC (rev 95633)
+++ trunk/Source/WebCore/ChangeLog	2011-09-21 15:39:53 UTC (rev 95634)
@@ -1,3 +1,16 @@
+2011-09-21  Pavel Feldman  <[email protected]>
+
+        Web Inspector: add minimal error handling to the DOM breakpoints.
+        https://bugs.webkit.org/show_bug.cgi?id=68537
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/InspectorDOMAgent.h:
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        (WebCore::domTypeForName):
+        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
+        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
+
 2011-09-21  Ilya Tikhonovsky  <[email protected]>
 
         Web Inspector: make WebInspector a bit more timeline friendly.

Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (95633 => 95634)


--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h	2011-09-21 15:36:47 UTC (rev 95633)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h	2011-09-21 15:39:53 UTC (rev 95634)
@@ -180,6 +180,8 @@
     static Node* innerParentNode(Node*);
     static bool isWhitespace(Node*);
 
+    Node* assertNode(ErrorString*, int nodeId);
+
 private:
     InspectorDOMAgent(InstrumentingAgents*, InspectorPageAgent*, InspectorClient*, InspectorState*, InjectedScriptManager*);
 
@@ -191,7 +193,6 @@
     typedef HashMap<RefPtr<Node>, int> NodeToIdMap;
     int bind(Node*, NodeToIdMap*);
     void unbind(Node*, NodeToIdMap*);
-    Node* assertNode(ErrorString*, int nodeId);
     Element* assertElement(ErrorString*, int nodeId);
     HTMLElement* assertHTMLElement(ErrorString*, int nodeId);
 

Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (95633 => 95634)


--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	2011-09-21 15:36:47 UTC (rev 95633)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	2011-09-21 15:39:53 UTC (rev 95634)
@@ -178,7 +178,7 @@
     }
 }
 
-static int domTypeForName(const String& typeString)
+static int domTypeForName(ErrorString* errorString, const String& typeString)
 {
     if (typeString == "subtree-modified")
         return SubtreeModified;
@@ -186,7 +186,8 @@
         return AttributeModified;
     if (typeString == "node-removed")
         return NodeRemoved;
-    return SubtreeModified;
+    *errorString = makeString("Unknown DOM breakpoint type: ", typeString);
+    return -1;
 }
 
 static String domTypeName(int type)
@@ -200,13 +201,16 @@
     return "";
 }
 
-void InspectorDOMDebuggerAgent::setDOMBreakpoint(ErrorString*, int nodeId, const String& typeString)
+void InspectorDOMDebuggerAgent::setDOMBreakpoint(ErrorString* errorString, int nodeId, const String& typeString)
 {
-    Node* node = m_domAgent->nodeForId(nodeId);
+    Node* node = m_domAgent->assertNode(errorString, nodeId);
     if (!node)
         return;
-    int type = domTypeForName(typeString);
 
+    int type = domTypeForName(errorString, typeString);
+    if (type == -1)
+        return;
+
     uint32_t rootBit = 1 << type;
     m_domBreakpoints.set(node, m_domBreakpoints.get(node) | rootBit);
     if (rootBit & inheritableDOMBreakpointTypesMask) {
@@ -215,12 +219,14 @@
     }
 }
 
-void InspectorDOMDebuggerAgent::removeDOMBreakpoint(ErrorString*, int nodeId, const String& typeString)
+void InspectorDOMDebuggerAgent::removeDOMBreakpoint(ErrorString* errorString, int nodeId, const String& typeString)
 {
-    Node* node = m_domAgent->nodeForId(nodeId);
+    Node* node = m_domAgent->assertNode(errorString, nodeId);
     if (!node)
         return;
-    int type = domTypeForName(typeString);
+    int type = domTypeForName(errorString, typeString);
+    if (type == -1)
+        return;
 
     uint32_t rootBit = 1 << type;
     uint32_t mask = m_domBreakpoints.get(node) & ~rootBit;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to