Beispiel #1
0
def PrintRFHM(rfhm, prefix):
  parent = rfhm['frame_tree_node_']['parent_']
  parent_addr = "NULL"
  if parent != 0:
    parent_addr = parent['render_manager_'].address

  print prefix + "RFHM[" + str(rfhm.address) + "]: child of [" + str(parent_addr) + "]"

  rfh = chromium.scoped_ptr(rfhm['render_frame_host_']).get()
  current_si = GetSiteInstance(rfh['render_view_host_']['instance_']['ptr_'])
  print prefix + "  current_rfh: " + str(rfhm['render_frame_host_']) + " site: " + str(current_si['site_']['spec_'])

  pending_rfh = chromium.scoped_ptr(rfhm['pending_render_frame_host_']).get()
  if pending_rfh != 0:
    pending_si = GetSiteInstance(pending_rfh['render_view_host_']['instance_']['ptr_'])
    print prefix + "  pending_rfh: " + str(rfhm['pending_render_frame_host_']) +  " site: " + str(pending_si['site_']['spec_'])
  else:
    print prefix + "  pending_rfh: " + str(rfhm['pending_render_frame_host_'])

  PrintProxies(rfhm, prefix)
Beispiel #2
0
  def invoke(self, arg, from_tty):
    arg_list = gdb.string_to_argv(arg)
    tree = gdb.parse_and_eval(arg_list[0])
    root = tree['root_']
    ptr = chromium.scoped_ptr(root).get()

    q = deque()
    ftn = ptr
    while ftn is not None:
      VisitNode(ftn)

      v = stl.vector(ftn['children_']['v_'])
      for i in range(0, v.size):
        q.append(v.at(i))

      try:
        ftn = q.pop()
      except IndexError:
        ftn = None;
        break;