|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 function test() { |
|
5 waitForExplicitFinish(); |
|
6 |
|
7 let bmFolder = Application.bookmarks.menu.addFolder("keyword-test"); |
|
8 let tab = gBrowser.selectedTab = gBrowser.addTab(); |
|
9 |
|
10 registerCleanupFunction (function () { |
|
11 bmFolder.remove(); |
|
12 gBrowser.removeTab(tab); |
|
13 }); |
|
14 |
|
15 let bm = bmFolder.addBookmark("bookmarklet", makeURI("javascript:1;")); |
|
16 bm.keyword = "bm"; |
|
17 |
|
18 addPageShowListener(function () { |
|
19 let originalPrincipal = gBrowser.contentPrincipal; |
|
20 |
|
21 // Enter bookmarklet keyword in the URL bar |
|
22 gURLBar.value = "bm"; |
|
23 gURLBar.focus(); |
|
24 EventUtils.synthesizeKey("VK_RETURN", {}); |
|
25 |
|
26 addPageShowListener(function () { |
|
27 ok(gBrowser.contentPrincipal.equals(originalPrincipal), "javascript bookmarklet should inherit principal"); |
|
28 finish(); |
|
29 }); |
|
30 }); |
|
31 } |
|
32 |
|
33 function addPageShowListener(func) { |
|
34 gBrowser.selectedBrowser.addEventListener("pageshow", function loadListener() { |
|
35 gBrowser.selectedBrowser.removeEventListener("pageshow", loadListener, false); |
|
36 func(); |
|
37 }); |
|
38 } |