old_contents: #!/usr/bin/python
  # Copyright (c) 2011 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  """GDB support for Chrome types.
  
  Add this to your gdb by amending your ~/.gdbinit as follows:
    python
    import sys
    sys.path.insert(0, "/path/to/tools/gdb/")
    import gdb_chrome
  
  This module relies on the WebKit gdb module already existing in
  your Python path.
  """
  
  import gdb
  import webkit
  
  class String16Printer(webkit.StringPrinter):
      def to_string(self):
          return webkit.ustring_to_string(self.val['_M_dataplus']['_M_p'])
  
  
  def lookup_function(val):
      if str(val.type) == 'string16':
          return String16Printer(val)
      return None
  
  gdb.pretty_printers.append(lookup_function)
  
new_contents: #!/usr/bin/python
  # Copyright (c) 2011 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  """GDB support for Chrome types.
  
  Add this to your gdb by amending your ~/.gdbinit as follows:
    python
    import sys
    sys.path.insert(0, "/path/to/tools/gdb/")
    import gdb_chrome
  
  This module relies on the WebKit gdb module already existing in
  your Python path.
  """
  
  import gdb
  import webkit
  
  class String16Printer(webkit.StringPrinter):
      def to_string(self):
          return webkit.ustring_to_string(self.val['_M_dataplus']['_M_p'])
  
  class GURLPrinter(webkit.StringPrinter):
      def to_string(self):
          return self.val['spec_']
  
  def lookup_function(val):
      typ = str(val.type)
      if typ == 'string16':
          return String16Printer(val)
      elif typ == 'GURL':
          return GURLPrinter(val)
      return None
  
  gdb.pretty_printers.append(lookup_function)
  
subject: print GURLs as strings