summaryrefslogtreecommitdiffstats
path: root/dom/base/test/fmm
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/fmm')
-rw-r--r--dom/base/test/fmm/browser.toml4
-rw-r--r--dom/base/test/fmm/browser_frame_message_manager_cache.js23
2 files changed, 27 insertions, 0 deletions
diff --git a/dom/base/test/fmm/browser.toml b/dom/base/test/fmm/browser.toml
new file mode 100644
index 0000000000..064189b03d
--- /dev/null
+++ b/dom/base/test/fmm/browser.toml
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+["browser_frame_message_manager_cache.js"]
+
diff --git a/dom/base/test/fmm/browser_frame_message_manager_cache.js b/dom/base/test/fmm/browser_frame_message_manager_cache.js
new file mode 100644
index 0000000000..fcedd6721a
--- /dev/null
+++ b/dom/base/test/fmm/browser_frame_message_manager_cache.js
@@ -0,0 +1,23 @@
+add_task(async function testCacheAfterInvalidate() {
+ // Load some page to make scripts cached.
+ let tab1 = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "about:addons"
+ );
+
+ // Discard ScriptPreloader cache.
+ Services.obs.notifyObservers(null, "startupcache-invalidate");
+
+ // Load some other page to use the cache in nsMessageManagerScriptExecutor
+ // cache.
+ let tab2 = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "about:preferences"
+ );
+
+ // Verify the browser doesn't crash.
+ ok(true);
+
+ BrowserTestUtils.removeTab(tab1);
+ BrowserTestUtils.removeTab(tab2);
+});