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