tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_frame_elements.js (2468B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      2 /* vim: set ts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 const TEST_URI =
      8  "http://example.com/browser/dom/tests/browser/browser_frame_elements.html";
      9 
     10 add_task(async function test() {
     11  await BrowserTestUtils.withNewTab(
     12    { gBrowser, url: TEST_URI },
     13    async function (browser) {
     14      // Confirm its embedder is the browser:
     15      is(
     16        browser.browsingContext.embedderElement,
     17        browser,
     18        "Embedder element for main window is xul:browser"
     19      );
     20 
     21      await SpecialPowers.spawn(browser, [], startTests);
     22    }
     23  );
     24 });
     25 
     26 function startTests() {
     27  info("Frame tests started");
     28 
     29  info("Checking top window");
     30  let gWindow = content;
     31  Assert.equal(gWindow.top, gWindow, "gWindow is top");
     32  Assert.equal(gWindow.parent, gWindow, "gWindow is parent");
     33 
     34  info("Checking about:blank iframe");
     35  let iframeBlank = gWindow.document.querySelector("#iframe-blank");
     36  Assert.ok(iframeBlank, "Iframe exists on page");
     37  Assert.equal(
     38    iframeBlank.browsingContext.embedderElement,
     39    iframeBlank,
     40    "Embedder element for iframe window is iframe"
     41  );
     42  Assert.equal(iframeBlank.contentWindow.top, gWindow, "gWindow is top");
     43  Assert.equal(iframeBlank.contentWindow.parent, gWindow, "gWindow is parent");
     44 
     45  info("Checking iframe with data url src");
     46  let iframeDataUrl = gWindow.document.querySelector("#iframe-data-url");
     47  Assert.ok(iframeDataUrl, "Iframe exists on page");
     48  Assert.equal(
     49    iframeDataUrl.browsingContext.embedderElement,
     50    iframeDataUrl,
     51    "Embedder element for iframe window is iframe"
     52  );
     53  Assert.equal(iframeDataUrl.contentWindow.top, gWindow, "gWindow is top");
     54  Assert.equal(
     55    iframeDataUrl.contentWindow.parent,
     56    gWindow,
     57    "gWindow is parent"
     58  );
     59 
     60  info("Checking object with data url data attribute");
     61  let objectDataUrl = gWindow.document.querySelector("#object-data-url");
     62  Assert.ok(objectDataUrl, "Object exists on page");
     63  Assert.equal(
     64    objectDataUrl.browsingContext.embedderElement,
     65    objectDataUrl,
     66    "Embedder element for object window is the object"
     67  );
     68  Assert.equal(objectDataUrl.contentWindow.top, gWindow, "gWindow is top");
     69  Assert.equal(
     70    objectDataUrl.contentWindow.parent,
     71    gWindow,
     72    "gWindow is parent"
     73  );
     74 }