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.

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
<html>
<body>

<!-- Try to load in a frame a page which sends "X-Frame-Options: DENY", and a
     cross-origin page which sends "X-Frame-Options: SAMEORIGIN". -->

<script>

// Make sure these iframes aren't too tall; they both need to fit inside the
// iframe this page is contained in, without scrolling, in order for the test's
// screenshots to work properly.

var iframe1 = document.createElement("iframe");
iframe1.height = "300px";
var iframe2 = document.createElement("iframe");
iframe2.height = "300px";
document.body.appendChild(iframe1);
document.body.appendChild(iframe2);

// This causes our embedder to take a screenshot (and blocks until the
// screenshot is completed).
alert("step 1");

// Wait for both iframes to load.

var iframe1Loaded = false;
iframe1.addEventListener("load", function() {
  iframe1Loaded = true;
  waitForBothLoads();
}, {once: true});

var iframe2Loaded = false;
iframe2.addEventListener("load", function() {
  iframe2Loaded = true;
  waitForBothLoads();
}, {once: true});

function waitForBothLoads() {
  if (iframe1Loaded && iframe2Loaded) {
    setTimeout(function() {
      // This causes our embedder to take another screenshot.
      alert("step 2");
    }, 0);
  }
}

iframe1.src = "file_browserElement_XFrameOptions.sjs?DENY";

// Load iframe2 with the origin of our parent.  Since we have a different
// origin and are inside <iframe mozbrowser>, this should not load.
iframe2.src = "http://mochi.test:8888/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptions.sjs?SAMEORIGIN";
</script>

</body>
</html>