summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_bookmarkMenu_hiddenWindow.js
blob: 4502b65e69273c79ba3c7c7e29b075d6e735e04b (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
48
49
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

"use strict";

add_setup(async function () {
  await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.menuGuid,
    url: "http://example.com/",
    title: "Test1",
  });

  registerCleanupFunction(async () => {
    await PlacesUtils.bookmarks.eraseEverything();
  });
});

add_task(async function test_menu_in_hidden_window() {
  let hwDoc = Services.appShell.hiddenDOMWindow.document;
  let bmPopup = hwDoc.getElementById("bookmarksMenuPopup");
  var popupEvent = hwDoc.createEvent("MouseEvent");
  popupEvent.initMouseEvent(
    "popupshowing",
    true,
    true,
    Services.appShell.hiddenDOMWindow,
    0,
    0,
    0,
    0,
    0,
    false,
    false,
    false,
    false,
    0,
    null
  );
  bmPopup.dispatchEvent(popupEvent);

  let testMenuitem = [...bmPopup.children].find(
    node => node.getAttribute("label") == "Test1"
  );
  Assert.ok(
    testMenuitem,
    "Should have found the test bookmark in the hidden window bookmark menu"
  );
});