diff -r 000000000000 -r 6474c204b198 browser/base/content/test/general/browser_keywordBookmarklets.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/base/content/test/general/browser_keywordBookmarklets.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,38 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +function test() { + waitForExplicitFinish(); + + let bmFolder = Application.bookmarks.menu.addFolder("keyword-test"); + let tab = gBrowser.selectedTab = gBrowser.addTab(); + + registerCleanupFunction (function () { + bmFolder.remove(); + gBrowser.removeTab(tab); + }); + + let bm = bmFolder.addBookmark("bookmarklet", makeURI("javascript:1;")); + bm.keyword = "bm"; + + addPageShowListener(function () { + let originalPrincipal = gBrowser.contentPrincipal; + + // Enter bookmarklet keyword in the URL bar + gURLBar.value = "bm"; + gURLBar.focus(); + EventUtils.synthesizeKey("VK_RETURN", {}); + + addPageShowListener(function () { + ok(gBrowser.contentPrincipal.equals(originalPrincipal), "javascript bookmarklet should inherit principal"); + finish(); + }); + }); +} + +function addPageShowListener(func) { + gBrowser.selectedBrowser.addEventListener("pageshow", function loadListener() { + gBrowser.selectedBrowser.removeEventListener("pageshow", loadListener, false); + func(); + }); +}