Bug 1316126 - Example test with _endRemoveTab infinite loop
MozReview-Commit-ID: LeQgitOqbmC
--- a/browser/base/content/test/general/browser.ini
+++ b/browser/base/content/test/general/browser.ini
@@ -502,8 +502,9 @@ skip-if = !e10s || !crashreporter
[browser_aboutTabCrashed_showForm.js]
skip-if = !e10s || !crashreporter
[browser_aboutTabCrashed_withoutDump.js]
skip-if = !e10s
[browser_csp_block_all_mixedcontent.js]
tags = mcb
[browser_newwindow_focus.js]
skip-if = (os == "linux" && !e10s) # Bug 1263254 - Perma fails on Linux without e10s for some reason.
+[browser_endRemoveTab_loop.js]
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/general/browser_endRemoveTab_loop.js
@@ -0,0 +1,19 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+add_task(function* () {
+ gBrowser.addTab("about:blank", {
+ skipAnimation: true,
+ });
+
+ let tab1 = gBrowser.tabs[0];
+ let tab2 = gBrowser.tabs[1];
+
+ tab1.addEventListener("TabClose", () => {
+ gBrowser.removeTab(tab2);
+ }, { once: true });
+
+ gBrowser.removeTab(tab1);
+
+ ok(true, "Completed test without getting trapped in an infinite loop");
+})