summaryrefslogtreecommitdiffstats
path: root/dom/html/test/browser_DOMDocElementInserted.js
blob: 9fa8335e6dc63fe35f30f560c31105066ccb25c9 (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
// Tests that the DOMDocElementInserted event is visible on the frame
add_task(function*() {
  let tab = gBrowser.addTab();
  let uri = "data:text/html;charset=utf-8,<html/>"

  let eventPromise = ContentTask.spawn(tab.linkedBrowser, null, function() {
    Cu.import("resource://gre/modules/PromiseUtils.jsm");
    let deferred = PromiseUtils.defer();

    let listener = (event) => {
      removeEventListener("DOMDocElementInserted", listener, true);
      deferred.resolve(event.target.documentURIObject.spec);
    };
    addEventListener("DOMDocElementInserted", listener, true);

    return deferred.promise;
  });

  tab.linkedBrowser.loadURI(uri);
  let loadedURI = yield eventPromise;
  is(loadedURI, uri, "Should have seen the event for the right URI");

  gBrowser.removeTab(tab);
});