summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/browser/browser_autocomplete_insecure_warning.js
blob: f00ea80937fefcba3802ddd478cf6836a93e9dba (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
"use strict";

const EXPECTED_SUPPORT_URL =
  Services.urlFormatter.formatURLPref("app.support.baseURL") +
  "insecure-password";

add_task(async function test_clickInsecureFieldWarning() {
  let url =
    "https://example.com" +
    DIRECTORY_PATH +
    "form_cross_origin_insecure_action.html";

  await BrowserTestUtils.withNewTab(
    {
      gBrowser,
      url,
    },
    async function (browser) {
      let popup = document.getElementById("PopupAutoComplete");
      Assert.ok(popup, "Got popup");
      await openACPopup(popup, browser, "#form-basic-username");
      await new Promise(requestAnimationFrame);

      let warningItem = popup.querySelector(`[type="insecureWarning"]`);
      Assert.ok(warningItem, "Got warning richlistitem");

      await BrowserTestUtils.waitForCondition(
        () => !warningItem.collapsed,
        "Wait for warning to show"
      );

      info("Clicking on warning");
      let supportTabPromise = BrowserTestUtils.waitForNewTab(
        gBrowser,
        EXPECTED_SUPPORT_URL
      );
      EventUtils.synthesizeMouseAtCenter(warningItem, {});
      let supportTab = await supportTabPromise;
      Assert.ok(supportTab, "Support tab opened");
      await closePopup(popup);
      BrowserTestUtils.removeTab(supportTab);
    }
  );
});