summaryrefslogtreecommitdiffstats
path: root/Tools/gdb/webkit.py
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Tools/gdb/webkit.py
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Tools/gdb/webkit.py')
-rw-r--r--Tools/gdb/webkit.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Tools/gdb/webkit.py b/Tools/gdb/webkit.py
index 3f25cc4..6eddd43 100644
--- a/Tools/gdb/webkit.py
+++ b/Tools/gdb/webkit.py
@@ -91,6 +91,15 @@ class WTFAtomicStringPrinter(StringPrinter):
return self.val['m_string']
+class WTFCStringPrinter(StringPrinter):
+ "Print a WTF::CString"
+ def to_string(self):
+ # The CString holds a buffer, which is a refptr to a WTF::Vector of chars.
+ vector = self.val['m_buffer']['m_ptr']['m_vector']
+ # The vector has two more layers of buffer members.
+ return vector['m_buffer']['m_buffer']
+
+
class WTFStringPrinter(StringPrinter):
"Print a WTF::String"
def get_length(self):
@@ -136,6 +145,12 @@ class JSCJSStringPrinter(StringPrinter):
return JSCUStringPrinter(self.val['m_value']).to_string()
+class WebCoreKURLGooglePrivatePrinter(StringPrinter):
+ "Print a WebCore::KURLGooglePrivate"
+ def to_string(self):
+ return WTFCStringPrinter(self.val['m_utf8']).to_string()
+
+
class WebCoreQualifiedNamePrinter(StringPrinter):
"Print a WebCore::QualifiedName"
@@ -238,7 +253,9 @@ def add_pretty_printers():
pretty_printers = (
(re.compile("^WTF::Vector<.*>$"), WTFVectorPrinter),
(re.compile("^WTF::AtomicString$"), WTFAtomicStringPrinter),
+ (re.compile("^WTF::CString$"), WTFCStringPrinter),
(re.compile("^WTF::String$"), WTFStringPrinter),
+ (re.compile("^WebCore::KURLGooglePrivate$"), WebCoreKURLGooglePrivatePrinter),
(re.compile("^WebCore::QualifiedName$"), WebCoreQualifiedNamePrinter),
(re.compile("^JSC::UString$"), JSCUStringPrinter),
(re.compile("^JSC::Identifier$"), JSCIdentifierPrinter),