Steps to repro: 1. Go to the URL. 2. Inspect any SVG element with the "Inspect" picker. The numbered circles are an easy target. At this point, the 1st level inspector debugger pauses, with message: Exception with thrown value: TypeError: node.className.trim is not a function. (In 'node.className.trim()', 'node.className.trim' is undefined) It seems that InjectedScript.prototype._nodeDescription is blowing up because SVG*Element.className will return an SVGAnimatedString instead of a DOMString.
<rdar://problem/21092210>
Created attachment 253670 [details] Patch
Comment on attachment 253670 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=253670&action=review r=me. Good find! > Source/JavaScriptCore/inspector/InjectedScriptSource.js:768 > + if (node.hasAttribute("class")) > + // Using .getAttribute() is a workaround for SVG*Element.className returning SVGAnimatedString, > + // which doesn't have any useful String methods. See <https://webkit.org/b/145363/>. > + description += "." + node.getAttribute("class").trim().replace(/\s+/g, "."); Style: This block need braces now.
Committed r184847: <http://trac.webkit.org/changeset/184847>