summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_findbarClose.js
blob: 17980f25af78ea8ae9215889bfe73365cea198a8 (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
42
43
44
45
46
47
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

// Tests find bar auto-close behavior

const TEST_PATH = getRootDirectory(gTestPath).replace(
  "chrome://mochitests/content",
  "https://example.com"
);

add_task(async function findbar_test() {
  let newTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
  gBrowser.selectedTab = newTab;

  let url = TEST_PATH + "test_bug628179.html";
  let promise = BrowserTestUtils.browserLoaded(
    newTab.linkedBrowser,
    false,
    url
  );
  BrowserTestUtils.loadURI(newTab.linkedBrowser, url);
  await promise;

  await gFindBarPromise;
  gFindBar.open();

  await new ContentTask.spawn(newTab.linkedBrowser, null, async function() {
    let iframe = content.document.getElementById("iframe");
    let awaitLoad = ContentTaskUtils.waitForEvent(iframe, "load", false);
    iframe.src = "https://example.org/";
    await awaitLoad;
  });

  ok(
    !gFindBar.hidden,
    "the Find bar isn't hidden after the location of a subdocument changes"
  );

  let findBarClosePromise = BrowserTestUtils.waitForEvent(
    gBrowser,
    "findbarclose"
  );
  gFindBar.close();
  await findBarClosePromise;

  gBrowser.removeTab(newTab);
});