summaryrefslogtreecommitdiff
path: root/accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
blob: d8b217380550254a7db3a8f0a2dbb289b2332598 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/* 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';

/* global EVENT_REORDER */

loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });

addAccessibleTask(`
  <div id="container"><div id="scrollarea" style="overflow:auto;"><input>
  </div></div>
  <div id="container2"><div id="scrollarea2" style="overflow:hidden;">
  </div></div>`, function*(browser, accDoc) {
  const id1 = 'container';
  const id2 = 'container2';
  const container = findAccessibleChildByID(accDoc, id1);
  const container2 = findAccessibleChildByID(accDoc, id2);

  /* ================= Change scroll range ================================== */
  let tree = {
    SECTION: [ {// container
      SECTION: [ {// scroll area
        ENTRY: [ ] // child content
      } ]
    } ]
  };
  testAccessibleTree(container, tree);

  let onReorder = waitForEvent(EVENT_REORDER, id1);
  yield ContentTask.spawn(browser, id1, id => {
    let doc = content.document;
    doc.getElementById('scrollarea').style.width = '20px';
    doc.getElementById(id).appendChild(doc.createElement('input'));
  });
  yield onReorder;

  tree = {
    SECTION: [ {// container
      SECTION: [ {// scroll area
        ENTRY: [ ] // child content
      } ]
    }, {
      ENTRY: [ ] // inserted input
    } ]
  };
  testAccessibleTree(container, tree);

  /* ================= Change scrollbar styles ============================== */
  tree = { SECTION: [ ] };
  testAccessibleTree(container2, tree);

  onReorder = waitForEvent(EVENT_REORDER, id2);
  yield invokeSetStyle(browser, 'scrollarea2', 'overflow', 'auto');
  yield onReorder;

  tree = {
    SECTION: [ // container
      { SECTION: [] } // scroll area
    ]
  };
  testAccessibleTree(container2, tree);
});