blob: 23e0c5ddf5a335d8601327c964172f8db4b73fed (
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
|
var tab;
function test() {
waitForExplicitFinish();
// Force-enable tab animations
gReduceMotionOverride = false;
tab = BrowserTestUtils.addTab(gBrowser);
isnot(
tab.getAttribute("fadein"),
"true",
"newly opened tab is yet to fade in"
);
// Try to remove the tab right before the opening animation's first frame
window.requestAnimationFrame(checkAnimationState);
}
function checkAnimationState() {
is(tab.getAttribute("fadein"), "true", "tab opening animation initiated");
info(window.getComputedStyle(tab).maxWidth);
gBrowser.removeTab(tab, { animate: true });
if (!tab.parentNode) {
ok(
true,
"tab removed synchronously since the opening animation hasn't moved yet"
);
finish();
return;
}
info(
"tab didn't close immediately, so the tab opening animation must have started moving"
);
info("waiting for the tab to close asynchronously");
tab.addEventListener(
"TabAnimationEnd",
function listener() {
executeSoon(function () {
ok(!tab.parentNode, "tab removed asynchronously");
finish();
});
},
{ once: true }
);
}
|