DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (a4e764f8dda4)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
	<title>Control Frame</title>
</head>

<script type="application/javascript">

const nsILayoutDebuggingTools = Ci.nsILayoutDebuggingTools;
var gDebugTools;

function Init()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools = Cc["@mozilla.org/layout-debug/layout-debuggingtools;1"].createInstance(nsILayoutDebuggingTools);
  gDebugTools.init(window.frames.pageframe);
}

function SetShowFrameBorders(inShow)
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.visualDebugging = inShow;
}

function SetShowEventTargetBorders(inShow)
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.visualEventDebugging = inShow;
}

function SetShowReflowStats(inShow)
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.reflowCounts = inShow;
}

function DumpFrames()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.dumpFrames();
}

function DumpContent()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.dumpContent();
}

function DumpViews()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.dumpViews();
}

function DumpWebShells()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  gDebugTools.dumpWebShells();
}

function InputKey(inEvent)
{
  if (inEvent.keyCode == KeyEvent.DOM_VK_RETURN)
  {
    var pageFrame = window.frames.pageframe;
    pageFrame.location.href = document.dumpform.urlfield.value;
    inEvent.preventDefault();   // avoid form submit on hitting return
  }
}

function IframeLoaded()
{
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  document.dumpform.urlfield.value = window.frames.pageframe.location.href;
}
</script>

<body onload="Init()">

<form name="dumpform">
<div style="margin-bottom: 5px">
URL: <input type="text" size="100" name="urlfield" value="http://www.mozilla.org" onkeypress="InputKey(event)"></input>
</div>
<div>
<input type="button" value="Dump Frames" onclick="DumpFrames()">
<input type="button" value="Dump Content" onclick="DumpContent()">
<input type="button" value="Dump Views" onclick="DumpViews()">
<input type="button" value="Dump WebShells" onclick="DumpWebShells()">

<input type="checkbox" id="showBordersCheck" name="showBordersCheck"
    onchange="SetShowFrameBorders(document.dumpform.showBordersCheck.checked)"></input>
<label for="showBordersCheck">Show Frame Borders</label>
</div>
</form>

<iframe name="pageframe" style="border: 1px solid black; width:800px; height:800px;" onload="IframeLoaded()"></iframe>

</body>
</html>