diff options
Diffstat (limited to 'browser/base/content/test/general/browser_bug417483.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug417483.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug417483.js b/browser/base/content/test/general/browser_bug417483.js new file mode 100644 index 0000000000..0fe32d556c --- /dev/null +++ b/browser/base/content/test/general/browser_bug417483.js @@ -0,0 +1,50 @@ +add_task(async function() { + let loadedPromise = BrowserTestUtils.browserLoaded( + gBrowser.selectedBrowser, + true + ); + const htmlContent = + "data:text/html, <iframe src='data:text/html,text text'></iframe>"; + BrowserTestUtils.loadURI(gBrowser, htmlContent); + await loadedPromise; + + await SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function(arg) { + let frame = content.frames[0]; + let sel = frame.getSelection(); + let range = frame.document.createRange(); + let tn = frame.document.body.childNodes[0]; + range.setStart(tn, 4); + range.setEnd(tn, 5); + sel.addRange(range); + frame.focus(); + }); + + let contentAreaContextMenu = document.getElementById( + "contentAreaContextMenu" + ); + + let popupShownPromise = BrowserTestUtils.waitForEvent( + contentAreaContextMenu, + "popupshown" + ); + await BrowserTestUtils.synthesizeMouse( + "frame", + 5, + 5, + { type: "contextmenu", button: 2 }, + gBrowser.selectedBrowser + ); + await popupShownPromise; + + ok( + document.getElementById("frame-sep").hidden, + "'frame-sep' should be hidden if the selection contains only spaces" + ); + + let popupHiddenPromise = BrowserTestUtils.waitForEvent( + contentAreaContextMenu, + "popuphidden" + ); + contentAreaContextMenu.hidePopup(); + await popupHiddenPromise; +}); |