Title: [93125] trunk/Source/WebCore
Revision
93125
Author
pfeld...@chromium.org
Date
2011-08-16 10:27:24 -0700 (Tue, 16 Aug 2011)

Log Message

Web Inspector: convert DOM breakpoint types to strings.
https://bugs.webkit.org/show_bug.cgi?id=66304

Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::domTypeForName):
(WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/front-end/DOMBreakpointsSidebarPane.js:
(WebInspector.DOMBreakpointsSidebarPane):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (93124 => 93125)


--- trunk/Source/WebCore/ChangeLog	2011-08-16 17:23:02 UTC (rev 93124)
+++ trunk/Source/WebCore/ChangeLog	2011-08-16 17:27:24 UTC (rev 93125)
@@ -1,5 +1,21 @@
 2011-08-16  Pavel Feldman  <pfeld...@google.com>
 
+        Web Inspector: convert DOM breakpoint types to strings.
+        https://bugs.webkit.org/show_bug.cgi?id=66304
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/Inspector.json:
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        (WebCore::domTypeForName):
+        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
+        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
+        * inspector/InspectorDOMDebuggerAgent.h:
+        * inspector/front-end/DOMBreakpointsSidebarPane.js:
+        (WebInspector.DOMBreakpointsSidebarPane):
+
+2011-08-16  Pavel Feldman  <pfeld...@google.com>
+
         Web Inspector: force pseudo element state when checking it in the styles sidebar.
         https://bugs.webkit.org/show_bug.cgi?id=66292
 

Modified: trunk/Source/WebCore/inspector/Inspector.json (93124 => 93125)


--- trunk/Source/WebCore/inspector/Inspector.json	2011-08-16 17:23:02 UTC (rev 93124)
+++ trunk/Source/WebCore/inspector/Inspector.json	2011-08-16 17:27:24 UTC (rev 93125)
@@ -1694,20 +1694,28 @@
     {
         "domain": "DOMDebugger",
         "description": "DOM debugging allows setting breakpoints on particular DOM operations and events. _javascript_ execution will stop on these operations as if there was a regular breakpoint set.",
+        "types": [
+            {
+                "id": "DOMBreakpointType",
+                "type": "string",
+                "enum": ["subtree-modified", "attribute-modified", "node-removed"],
+                "description": "DOM breakpoint type."
+            }
+        ],
         "commands": [
             {
                 "name": "setDOMBreakpoint",
                 "parameters": [
                     { "name": "nodeId", "type": "integer", "description": "Identifier of the node to set breakpoint on." },
-                    { "name": "type", "type": "integer", "description": "Type of the operation to stop upon." }
+                    { "name": "type", "$ref": "DOMBreakpointType", "description": "Type of the operation to stop upon." }
                 ],
-                "description": "Sets breakpoint on particular operation with DOM. "
+                "description": "Sets breakpoint on particular operation with DOM."
             },
             {
                 "name": "removeDOMBreakpoint",
                 "parameters": [
                     { "name": "nodeId", "type": "integer", "description": "Identifier of the node to remove breakpoint from." },
-                    { "name": "type", "type": "integer", "description": "Type of the breakpoint to remove." }
+                    { "name": "type", "$ref": "DOMBreakpointType", "description": "Type of the breakpoint to remove." }
                 ],
                 "description": "Removes DOM breakpoint that was set using <code>setDOMBreakpoint</code>."
             },

Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (93124 => 93125)


--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	2011-08-16 17:23:02 UTC (rev 93124)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp	2011-08-16 17:27:24 UTC (rev 93125)
@@ -179,11 +179,34 @@
     }
 }
 
-void InspectorDOMDebuggerAgent::setDOMBreakpoint(ErrorString*, int nodeId, int type)
+static int domTypeForName(const String& typeString)
 {
+    if (typeString == "subtree-modified")
+        return SubtreeModified;
+    if (typeString == "attribute-modified")
+        return AttributeModified;
+    if (typeString == "node-removed")
+        return NodeRemoved;
+    return SubtreeModified;
+}
+
+static String domTypeName(int type)
+{
+    switch (type) {
+    case SubtreeModified: return "subtree-modified";
+    case AttributeModified: return "attribute-modified";
+    case NodeRemoved: return "node-removed";
+    default: break;
+    }
+    return "";
+}
+
+void InspectorDOMDebuggerAgent::setDOMBreakpoint(ErrorString*, int nodeId, const String& typeString)
+{
     Node* node = m_domAgent->nodeForId(nodeId);
     if (!node)
         return;
+    int type = domTypeForName(typeString);
 
     uint32_t rootBit = 1 << type;
     m_domBreakpoints.set(node, m_domBreakpoints.get(node) | rootBit);
@@ -193,11 +216,12 @@
     }
 }
 
-void InspectorDOMDebuggerAgent::removeDOMBreakpoint(ErrorString*, int nodeId, int type)
+void InspectorDOMDebuggerAgent::removeDOMBreakpoint(ErrorString*, int nodeId, const String& typeString)
 {
     Node* node = m_domAgent->nodeForId(nodeId);
     if (!node)
         return;
+    int type = domTypeForName(typeString);
 
     uint32_t rootBit = 1 << type;
     uint32_t mask = m_domBreakpoints.get(node) & ~rootBit;
@@ -275,7 +299,7 @@
     int breakpointOwnerNodeId = m_domAgent->boundNodeId(breakpointOwner);
     ASSERT(breakpointOwnerNodeId);
     description->setNumber("nodeId", breakpointOwnerNodeId);
-    description->setNumber("type", breakpointType);
+    description->setString("type", domTypeName(breakpointType));
 }
 
 bool InspectorDOMDebuggerAgent::hasBreakpoint(Node* node, int type)

Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h (93124 => 93125)


--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h	2011-08-16 17:23:02 UTC (rev 93124)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h	2011-08-16 17:27:24 UTC (rev 93125)
@@ -67,8 +67,8 @@
     void removeXHRBreakpoint(ErrorString*, const String& url);
     void setEventListenerBreakpoint(ErrorString*, const String& eventName);
     void removeEventListenerBreakpoint(ErrorString*, const String& eventName);
-    void setDOMBreakpoint(ErrorString*, int nodeId, int type);
-    void removeDOMBreakpoint(ErrorString*, int nodeId, int type);
+    void setDOMBreakpoint(ErrorString*, int nodeId, const String& type);
+    void removeDOMBreakpoint(ErrorString*, int nodeId, const String& type);
 
     // InspectorInstrumentation API
     void willInsertDOMNode(Node*, Node* parent);

Modified: trunk/Source/WebCore/inspector/front-end/DOMBreakpointsSidebarPane.js (93124 => 93125)


--- trunk/Source/WebCore/inspector/front-end/DOMBreakpointsSidebarPane.js	2011-08-16 17:23:02 UTC (rev 93124)
+++ trunk/Source/WebCore/inspector/front-end/DOMBreakpointsSidebarPane.js	2011-08-16 17:27:24 UTC (rev 93125)
@@ -35,20 +35,20 @@
     this._breakpointElements = {};
 
     this._breakpointTypes = {
-        SubtreeModified: 0,
-        AttributeModified: 1,
-        NodeRemoved: 2
+        SubtreeModified: "subtree-modified",
+        AttributeModified: "attribute-modified",
+        NodeRemoved: "node-removed"
     };
-    this._breakpointTypeLabels = [
-        WebInspector.UIString("Subtree Modified"),
-        WebInspector.UIString("Attribute Modified"),
-        WebInspector.UIString("Node Removed")
-    ];
-    this._contextMenuLabels = [
-        WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on subtree modifications" : "Break on Subtree Modifications"),
-        WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on attributes modifications" : "Break on Attributes Modifications"),
-        WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on node removal" : "Break on Node Removal")
-    ];
+    this._breakpointTypeLabels = {};
+    this._breakpointTypeLabels[this._breakpointTypes.SubtreeModified] = WebInspector.UIString("Subtree Modified");
+    this._breakpointTypeLabels[this._breakpointTypes.AttributeModified] = WebInspector.UIString("Attribute Modified");
+    this._breakpointTypeLabels[this._breakpointTypes.NodeRemoved] = WebInspector.UIString("Node Removed");
+
+    this._contextMenuLabels = {};
+    this._contextMenuLabels[this._breakpointTypes.SubtreeModified] = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on subtree modifications" : "Break on Subtree Modifications");
+    this._contextMenuLabels[this._breakpointTypes.AttributeModified] = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on attributes modifications" : "Break on Attributes Modifications");
+    this._contextMenuLabels[this._breakpointTypes.NodeRemoved] = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Break on node removal" : "Break on Node Removal");
+
     WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.InspectedURLChanged, this._inspectedURLChanged, this);
 }
 
@@ -78,7 +78,8 @@
             this._saveBreakpoints();
         }
 
-        for (var type = 0; type < 3; ++type) {
+        for (var key in this._breakpointTypes) {
+            var type = this._breakpointTypes[key];
             var label = this._contextMenuLabels[type];
             contextMenu.appendCheckboxItem(label, toggleBreakpoint.bind(this, type), nodeBreakpoints[type]);
         }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to