Index: tools/gdb/gdb_chrome.py |
diff --git a/tools/gdb/gdb_chrome.py b/tools/gdb/gdb_chrome.py |
index b19312243630fc1bc421980043400efff083f1a1..2c2583402a45de0f83aab5412ccfe927a5c380eb 100644 |
--- a/tools/gdb/gdb_chrome.py |
+++ b/tools/gdb/gdb_chrome.py |
@@ -26,12 +26,24 @@ class GURLPrinter(webkit.StringPrinter): |
def to_string(self): |
return self.val['spec_'] |
+class FilePathPrinter(object): |
+ def __init__(self, val): |
+ self.val = val |
+ |
+ def to_string(self): |
+ return self.val['path_']['_M_dataplus']['_M_p'] |
+ |
+ |
def lookup_function(val): |
- typ = str(val.type) |
- if typ == 'string16': |
- return String16Printer(val) |
- elif typ == 'GURL': |
- return GURLPrinter(val) |
+ type_to_printer = { |
+ 'string16': String16Printer, |
+ 'GURL': GURLPrinter, |
+ 'FilePath': FilePathPrinter, |
+ } |
+ |
+ printer = type_to_printer.get(str(val.type), None) |
+ if printer: |
+ return printer(val) |
return None |
gdb.pretty_printers.append(lookup_function) |