summaryrefslogtreecommitdiffstats
path: root/accessible/tests/browser/e10s/browser_caching_domnodeid.js
blob: 722cc9a970d8f16a6cbae597d314968ed4877648 (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
/* 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";

/**
 * Test DOM ID caching on remotes.
 */
addAccessibleTask(
  '<div id="div"></div>',
  async function (browser, accDoc) {
    const div = findAccessibleChildByID(accDoc, "div");
    ok(div, "Got accessible with 'div' ID.");

    let contentPromise = invokeContentTask(browser, [], () => {
      content.document.getElementById("div").id = "foo";
    });
    // We don't await for content task to return because we want to exercise the
    // untilCacheIs function and demonstrate that it can await for a passing
    // `is` test.
    await untilCacheIs(
      () => div.id,
      "foo",
      "ID is correct and updated in cache"
    );

    // Don't leave test without the content task promise resolved.
    await contentPromise;
  },
  { iframe: true, remoteIframe: true }
);