summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/browserElement_OpenWindowDifferentOrigin.js
blob: 650ef17f58bf29dc34029340bc73b6607e21e186 (plain)
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
/* Any copyright is dedicated to the public domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

// Bug 769182 - window.open to a different origin should load the page.

"use strict";
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();

function runTest() {
  var iframe = document.createElement('iframe');
  iframe.setAttribute('mozbrowser', 'true');

  iframe.addEventListener('mozbrowseropenwindow', function(e) {
    ok(true, 'Got first window.open call');

    e.detail.frameElement.addEventListener('mozbrowseropenwindow', function(e) {
      ok(true, 'Got second window.open call');
      document.body.appendChild(e.detail.frameElement);
    });

    e.detail.frameElement.addEventListener('mozbrowsershowmodalprompt', function(e) {
      ok(true, 'Got alert from second window.');
      SimpleTest.finish();
    });

    document.body.appendChild(e.detail.frameElement);
  });

  // DifferentOrigin.html?1 calls
  //
  //   window.open('http://example.com/.../DifferentOrigin.html?2'),
  //
  // which calls alert().

  iframe.src = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_OpenWindowDifferentOrigin.html?1';
  document.body.appendChild(iframe);
}

addEventListener('testready', runTest);