Bug 1255659 part 1 - Remove test_contextmenu.html which is no longer used. draft
authorXidorn Quan <quanxunzhen@gmail.com>
Fri, 11 Mar 2016 10:43:20 +0800
changeset 339370 6ee075878e17c469081259cda8b57e0bc4c22264
parent 338980 e4aba46543bc0612d3854e488b9eecbf14ad3e3d
child 339371 c34d362a121929ee8a7a7943a20e0a70b80a9ec3
push id12711
push userxquan@mozilla.com
push dateFri, 11 Mar 2016 02:45:15 +0000
bugs1255659
milestone48.0a1
Bug 1255659 part 1 - Remove test_contextmenu.html which is no longer used. MozReview-Commit-ID: IHK9x9FhfOS
browser/base/content/test/general/test_contextmenu.html
deleted file mode 100644
--- a/browser/base/content/test/general/test_contextmenu.html
+++ /dev/null
@@ -1,880 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-  <title>Tests for browser context menu</title>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-  <script type="text/javascript" src="head_plain.js"></script>
-</head>
-<body>
-Browser context menu tests.
-<p id="display"></p>
-
-<div id="content">
-</div>
-
-<pre id="test">
-<script type="text/javascript" src="contextmenu_common.js"></script>
-<script class="testbody" type="text/javascript">
-
-SpecialPowers.Cu.import("resource://gre/modules/InlineSpellChecker.jsm", window);
-
-const Ci = SpecialPowers.Ci;
-
-function executeCopyCommand(command, expectedValue)
-{
-  // Just execute the command directly rather than simulating a context menu
-  // press to avoid having to deal with its asynchronous nature
-  SpecialPowers.wrap(subwindow).controllers.getControllerForCommand(command).doCommand(command);
-
-  // The easiest way to check the clipboard is to paste the contents into a
-  // textbox
-  input.focus();
-  input.value = "";
-  SpecialPowers.wrap(input).controllers.getControllerForCommand("cmd_paste").doCommand("cmd_paste");
-  is(input.value, expectedValue, "paste for command " + command);
-}
-
-function invokeItemAction(generatedItemId)
-{
-  var item = contextMenu.getElementsByAttribute("generateditemid",
-                                                generatedItemId)[0];
-  ok(item, "Got generated XUL menu item");
-  item.doCommand();
-  ok(!pagemenu.hasAttribute("hopeless"), "attribute got removed");
-}
-
-function selectText(element) {
-  // Clear any previous selections before selecting new element.
-  subwindow.getSelection().removeAllRanges();
-
-  var div = subwindow.document.createRange();
-  div.setStartBefore(element);
-  div.setEndAfter(element);
-  subwindow.getSelection().addRange(div);
-}
-
-function selectInputText(element) {
-  // Clear any previous selections before selecting new element.
-  subwindow.getSelection().removeAllRanges();
-
-  element.select();
-}
-
-/*
- * runTest
- *
- * Called by a popupshowing event handler. Each test checks for expected menu
- * contents, closes the popup, and finally triggers the popup on a new element
- * (thus kicking off another cycle).
- *
- */
-function runTest(testNum) {
-  // Seems we need to enable this again, or sendKeyEvent() complaints.
-  ok(true, "Starting test #" + testNum);
-
-  var inspectItems = [];
-  if (SpecialPowers.getBoolPref("devtools.inspector.enabled")) {
-    inspectItems = ["---", null,
-                    "context-inspect", true];
-  }
-
-  var loginFillItems = [
-    "---", null,
-    "fill-login", null,
-      [
-        "fill-login-no-logins", false,
-        "---", null,
-        "fill-login-saved-passwords", true
-      ], null,
-  ];
-
-  var tests = [
-    function () {
-        // Invoke context menu for next test.
-        openContextMenuFor(text);
-    },
-
-    function () {
-        // Context menu for plain text
-        plainTextItems = ["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-                         ].concat(inspectItems);
-        checkContextMenu(plainTextItems);
-        closeContextMenu();
-        openContextMenuFor(link); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for text link
-        checkContextMenu(["context-openlinkintab", true,
-                          "context-openlink",      true,
-                          "context-openlinkprivate", true,
-                          "---",                   null,
-                          "context-bookmarklink",  true,
-                          "context-savelink",      true,
-                          "context-copylink",      true,
-                          "context-searchselect",  true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(mailto); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for text mailto-link
-        checkContextMenu(["context-copyemail", true,
-                          "context-searchselect", true
-                        ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(img); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for an image
-        checkContextMenu(["context-viewimage",            true,
-                          "context-copyimage-contents",   true,
-                          "context-copyimage",            true,
-                          "---",                          null,
-                          "context-saveimage",            true,
-                          "context-sendimage",            true,
-                          "context-setDesktopBackground", true,
-                          "context-viewimageinfo",        true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(canvas); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a canvas
-        checkContextMenu(["context-viewimage",    true,
-                          "context-saveimage",    true,
-                          "context-selectall",    true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(video_ok); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a video (with a VALID media source)
-        checkContextMenu(["context-media-play",         true,
-                          "context-media-mute",         true,
-                          "context-media-playbackrate", null,
-                              ["context-media-playbackrate-050x", true,
-                               "context-media-playbackrate-100x", true,
-                               "context-media-playbackrate-150x", true,
-                               "context-media-playbackrate-200x", true], null,
-                          "context-media-hidecontrols", true,
-                          "context-video-showstats",    true,
-                          "context-video-fullscreen",   true,
-                          "---",                        null,
-                          "context-viewvideo",          true,
-                          "context-copyvideourl",       true,
-                          "---",                        null,
-                          "context-savevideo",          true,
-                          "context-video-saveimage",    true,
-                          "context-sendvideo",          true,
-                          "context-castvideo",          null,
-                            [], null
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(audio_in_video); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a video (with an audio-only file)
-          checkContextMenu(["context-media-play",         true,
-                            "context-media-mute",         true,
-                            "context-media-playbackrate", null,
-                                ["context-media-playbackrate-050x", true,
-                                 "context-media-playbackrate-100x", true,
-                                 "context-media-playbackrate-150x", true,
-                                 "context-media-playbackrate-200x", true], null,
-                            "context-media-showcontrols", true,
-                            "---",                        null,
-                            "context-copyaudiourl",       true,
-                            "---",                        null,
-                            "context-saveaudio",          true,
-                            "context-sendaudio",          true
-                           ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(video_bad); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a video (with an INVALID media source)
-        checkContextMenu(["context-media-play",         false,
-                          "context-media-mute",         false,
-                          "context-media-playbackrate", null,
-                              ["context-media-playbackrate-050x", false,
-                               "context-media-playbackrate-100x", false,
-                               "context-media-playbackrate-150x", false,
-                               "context-media-playbackrate-200x", false], null,
-                          "context-media-hidecontrols", false,
-                          "context-video-showstats",    false,
-                          "context-video-fullscreen",   false,
-                          "---",                        null,
-                          "context-viewvideo",          true,
-                          "context-copyvideourl",       true,
-                          "---",                        null,
-                          "context-savevideo",          true,
-                          "context-video-saveimage",    false,
-                          "context-sendvideo",          true,
-                          "context-castvideo",          null,
-                            [], null
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(video_bad2); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a video (with an INVALID media source)
-        checkContextMenu(["context-media-play",         false,
-                          "context-media-mute",         false,
-                          "context-media-playbackrate", null,
-                              ["context-media-playbackrate-050x", false,
-                               "context-media-playbackrate-100x", false,
-                               "context-media-playbackrate-150x", false,
-                               "context-media-playbackrate-200x", false], null,
-                          "context-media-hidecontrols", false,
-                          "context-video-showstats",    false,
-                          "context-video-fullscreen",   false,
-                          "---",                        null,
-                          "context-viewvideo",          false,
-                          "context-copyvideourl",       false,
-                          "---",                        null,
-                          "context-savevideo",          false,
-                          "context-video-saveimage",    false,
-                          "context-sendvideo",          false,
-                          "context-castvideo",          null,
-                            [], null
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(iframe); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for an iframe
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "frame",                null,
-                              ["context-showonlythisframe", true,
-                               "context-openframeintab",    true,
-                               "context-openframe",         true,
-                               "---",                       null,
-                               "context-reloadframe",       true,
-                               "---",                       null,
-                               "context-bookmarkframe",     true,
-                               "context-saveframe",         true,
-                               "---",                       null,
-                               "context-printframe",        true,
-                               "---",                       null,
-                               "context-viewframesource",   true,
-                               "context-viewframeinfo",     true], null,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(video_in_iframe); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for a video in an iframe
-        checkContextMenu(["context-media-play",         true,
-                          "context-media-mute",         true,
-                          "context-media-playbackrate", null,
-                              ["context-media-playbackrate-050x", true,
-                               "context-media-playbackrate-100x", true,
-                               "context-media-playbackrate-150x", true,
-                               "context-media-playbackrate-200x", true], null,
-                          "context-media-hidecontrols", true,
-                          "context-video-showstats",    true,
-                          "context-video-fullscreen",   true,
-                          "---",                        null,
-                          "context-viewvideo",          true,
-                          "context-copyvideourl",       true,
-                          "---",                        null,
-                          "context-savevideo",          true,
-                          "context-video-saveimage",    true,
-                          "context-sendvideo",          true,
-                          "context-castvideo",          null,
-                            [], null,
-                          "frame",                null,
-                              ["context-showonlythisframe", true,
-                               "context-openframeintab",    true,
-                               "context-openframe",         true,
-                               "---",                       null,
-                               "context-reloadframe",       true,
-                               "---",                       null,
-                               "context-bookmarkframe",     true,
-                               "context-saveframe",         true,
-                               "---",                       null,
-                               "context-printframe",        true,
-                               "---",                       null,
-                               "context-viewframeinfo",     true], null].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(image_in_iframe); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for an image in an iframe
-        checkContextMenu(["context-viewimage",            true,
-                          "context-copyimage-contents",   true,
-                          "context-copyimage",            true,
-                          "---",                          null,
-                          "context-saveimage",            true,
-                          "context-sendimage",            true,
-                          "context-setDesktopBackground", true,
-                          "context-viewimageinfo",        true,
-                          "frame",                null,
-                              ["context-showonlythisframe", true,
-                               "context-openframeintab",    true,
-                               "context-openframe",         true,
-                               "---",                       null,
-                               "context-reloadframe",       true,
-                               "---",                       null,
-                               "context-bookmarkframe",     true,
-                               "context-saveframe",         true,
-                               "---",                       null,
-                               "context-printframe",        true,
-                               "---",                       null,
-                               "context-viewframeinfo",     true], null].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(textarea); // Invoke context menu for next test
-    },
-
-    function () {
-        // Context menu for textarea before spell check initialization finishes
-        checkContextMenu(["context-undo",                false,
-                          "---",                         null,
-                          "context-cut",                 true,
-                          "context-copy",                true,
-                          "context-paste",               null,
-                          "context-delete",              false,
-                          "---",                         null,
-                          "context-selectall",           true,
-                          "---",                         null,
-                          "spell-add-dictionaries-main", true,
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(textarea, false, true); // Invoke context menu for next test, but wait for the spellcheck.
-    },
-
-    function () {
-        // Context menu for textarea after spell check initialization finishes
-        checkContextMenu(["*chubbiness",         true, // spelling suggestion
-                          "spell-add-to-dictionary", true,
-                          "---",                 null,
-                          "context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      false,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "---",                 null,
-                          "spell-check-enabled", true,
-                          "spell-dictionaries",  true,
-                              ["spell-check-dictionary-en-US", true,
-                               "---",                          null,
-                               "spell-add-dictionaries",       true], null
-                         ].concat(inspectItems));
-        contextMenu.ownerDocument.getElementById("spell-add-to-dictionary").doCommand(); // Add to dictionary
-        closeContextMenu();
-        openContextMenuFor(text); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Re-check context menu for plain text to make sure it hasn't changed
-        checkContextMenu(plainTextItems);
-        closeContextMenu();
-        openContextMenuFor(textarea, false, true); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for textarea after a word has been added
-        // to the dictionary
-        checkContextMenu(["spell-undo-add-to-dictionary", true,
-                          "---",                 null,
-                          "context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      false,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "---",                 null,
-                          "spell-check-enabled", true,
-                          "spell-dictionaries",  true,
-                              ["spell-check-dictionary-en-US", true,
-                               "---",                          null,
-                               "spell-add-dictionaries",       true], null
-                         ].concat(inspectItems));
-        contextMenu.ownerDocument.getElementById("spell-undo-add-to-dictionary").doCommand(); // Undo add to dictionary
-        closeContextMenu();
-        openContextMenuFor(contenteditable, false, true);
-    },
-
-    function () {
-        // Context menu for contenteditable
-        checkContextMenu(["spell-no-suggestions", false,
-                          "spell-add-to-dictionary", true,
-                          "---",                 null,
-                          "context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      false,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "---",                 null,
-                          "spell-check-enabled", true,
-                          "spell-dictionaries",  true,
-                              ["spell-check-dictionary-en-US", true,
-                               "---",                          null,
-                               "spell-add-dictionaries",       true], null
-                         ].concat(inspectItems));
-
-        closeContextMenu();
-        openContextMenuFor(link); // Invoke context menu for next test.
-    },
-
-    function () {
-        executeCopyCommand("cmd_copyLink", "http://mozilla.com/");
-        closeContextMenu();
-        openContextMenuFor(pagemenu); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for element with assigned content context menu
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "+Plain item",          {type: "", icon: "", checked: false, disabled: false},
-                          "+Disabled item",       {type: "", icon: "", checked: false, disabled: true},
-                          "+Item w/ textContent", {type: "", icon: "", checked: false, disabled: false},
-                          "---",                  null,
-                          "+Checkbox",            {type: "checkbox", icon: "", checked: true, disabled: false},
-                          "---",                  null,
-                          "+Radio1",              {type: "checkbox", icon: "", checked: true, disabled: false},
-                          "+Radio2",              {type: "checkbox", icon: "", checked: false, disabled: false},
-                          "+Radio3",              {type: "checkbox", icon: "", checked: false, disabled: false},
-                          "---",                  null,
-                          "+Item w/ icon",        {type: "", icon: "favicon.ico", checked: false, disabled: false},
-                          "+Item w/ bad icon",    {type: "", icon: "", checked: false, disabled: false},
-                          "---",                  null,
-                          "generated-submenu-1",  true,
-                              ["+Radio1",             {type: "checkbox", icon: "", checked: false, disabled: false},
-                               "+Radio2",             {type: "checkbox", icon: "", checked: true, disabled: false},
-                               "+Radio3",             {type: "checkbox", icon: "", checked: false, disabled: false},
-                               "---",                 null,
-                               "+Checkbox",           {type: "checkbox", icon: "", checked: false, disabled: false}], null,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-                         ].concat(inspectItems));
-
-        invokeItemAction("1");
-        closeContextMenu();
-
-        // run requestFullscreen on the element we're testing
-        var full_screen_element = subwindow.document.getElementById("test-dom-full-screen");
-        var openDomFullScreen = function() {
-            subwindow.removeEventListener("fullscreenchange", openDomFullScreen, false);
-            openContextMenuFor(dom_full_screen, true); // Invoke context menu for next test.
-        }
-        subwindow.addEventListener("fullscreenchange", openDomFullScreen, false);
-        SpecialPowers.setBoolPref("full-screen-api.allow-trusted-requests-only", false);
-        SpecialPowers.setCharPref("full-screen-api.transition-duration.enter", "0 0");
-        SpecialPowers.setCharPref("full-screen-api.transition-duration.leave", "0 0");
-        full_screen_element.requestFullscreen();
-    },
-
-    function () {
-        // Context menu for DOM Fullscreen mode (NOTE: this is *NOT* on an img)
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",            false,
-                               "context-forward",         false,
-                               "context-reload",          true,
-                               "context-bookmarkpage",    true], null,
-                          "---",                          null,
-                          "context-leave-dom-fullscreen", true,
-                          "---",                          null,
-                          "context-savepage",             true,
-                          "---",                          null,
-                          "context-viewbgimage",          false,
-                          "context-selectall",            true,
-                          "---",                          null,
-                          "context-viewsource",           true,
-                          "context-viewinfo",             true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        var full_screen_element = subwindow.document.getElementById("test-dom-full-screen");
-        var openPagemenu = function() {
-            subwindow.removeEventListener("fullscreenchange", openPagemenu, false);
-            SpecialPowers.clearUserPref("full-screen-api.allow-trusted-requests-only");
-            SpecialPowers.clearUserPref("full-screen-api.transition-duration.enter", "0 0");
-            SpecialPowers.clearUserPref("full-screen-api.transition-duration.leave", "0 0");
-            openContextMenuFor(pagemenu, true); // Invoke context menu for next test.
-        }
-        subwindow.addEventListener("fullscreenchange", openPagemenu, false);
-        subwindow.document.exitFullscreen();
-    },
-
-    function () {
-        // Context menu for element with assigned content context menu
-        // The shift key should bypass content context menu processing
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        selectText(selecttext); // Select text prior to opening context menu.
-        openContextMenuFor(selecttext); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for selected text
-        if (SpecialPowers.Services.appinfo.OS == "Darwin") {
-          // This test is only enabled on Mac due to bug 736399.
-          checkContextMenu(["context-copy",                        true,
-                            "context-selectall",                   true,
-                            "---",                                 null,
-                            "context-searchselect",                true,
-                            "context-viewpartialsource-selection", true
-                           ].concat(inspectItems));
-        }
-        closeContextMenu();
-        selectText(selecttextlink); // Select text prior to opening context menu.
-        openContextMenuFor(selecttextlink); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for selected text which matches valid URL pattern
-        if (SpecialPowers.Services.appinfo.OS == "Darwin") {
-          // This test is only enabled on Mac due to bug 736399.
-          checkContextMenu(["context-openlinkincurrent",           true,
-                            "context-openlinkintab",               true,
-                            "context-openlink",                    true,
-                            "context-openlinkprivate",             true,
-                            "---",                                 null,
-                            "context-bookmarklink",                true,
-                            "context-savelink",                    true,
-                            "context-copy",                        true,
-                            "context-selectall",                   true,
-                            "---",                                 null,
-                            "context-searchselect",                true,
-                            "context-viewpartialsource-selection", true
-                           ].concat(inspectItems));
-        }
-        closeContextMenu();
-        // clear the selection because following tests don't expect any selection
-        subwindow.getSelection().removeAllRanges();
-
-        openContextMenuFor(imagelink)
-    },
-
-    function () {
-        // Context menu for image link
-        checkContextMenu(["context-openlinkintab", true,
-                          "context-openlink",      true,
-                          "context-openlinkprivate", true,
-                          "---",                   null,
-                          "context-bookmarklink",  true,
-                          "context-savelink",      true,
-                          "context-copylink",      true,
-                          "---",                   null,
-                          "context-viewimage",            true,
-                          "context-copyimage-contents",   true,
-                          "context-copyimage",            true,
-                          "---",                          null,
-                          "context-saveimage",            true,
-                          "context-sendimage",            true,
-                          "context-setDesktopBackground", true,
-                          "context-viewimageinfo",        true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        selectInputText(select_inputtext); // Select text prior to opening context menu.
-        openContextMenuFor(select_inputtext); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for selected text in input
-        checkContextMenu(["context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      true,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "context-searchselect",true,
-                          "---",                 null,
-                          "spell-check-enabled", true
-                         ].concat(loginFillItems)
-                          .concat(inspectItems));
-        closeContextMenu();
-        selectInputText(select_inputtext_password); // Select text prior to opening context menu.
-        openContextMenuFor(select_inputtext_password); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for selected text in input[type="password"]
-        checkContextMenu(["context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      true,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "---",                 null,
-                          "spell-check-enabled", true,
-                          //spell checker is shown on input[type="password"] on this testcase
-                          "spell-dictionaries",  true,
-                              ["spell-check-dictionary-en-US", true,
-                               "---",                          null,
-                               "spell-add-dictionaries",       true], null
-                         ].concat(loginFillItems)
-                          .concat(inspectItems));
-        closeContextMenu();
-        subwindow.getSelection().removeAllRanges();
-        openContextMenuFor(plugin);
-    },
-
-    function () {
-        // Context menu for click-to-play blocked plugin
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "context-ctp-play",     true,
-                          "context-ctp-hide",     true,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        SpecialPowers.clearUserPref("plugins.click_to_play");
-        getTestPlugin().enabledState = Ci.nsIPluginTag.STATE_ENABLED;
-        openContextMenuFor(longdesc);
-    },
-
-    function () {
-        // Context menu for an image with longdesc
-        checkContextMenu(["context-viewimage",            true,
-                          "context-copyimage-contents",   true,
-                          "context-copyimage",            true,
-                          "---",                          null,
-                          "context-saveimage",            true,
-                          "context-sendimage",            true,
-                          "context-setDesktopBackground", true,
-                          "context-viewimageinfo",        true,
-                          "context-viewimagedesc",        true
-                         ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(srcdoc);
-    },
-
-    function () {
-        // Context menu for an iframe with srcdoc attribute set
-        checkContextMenu(["context-navigation", null,
-                              ["context-back",         false,
-                               "context-forward",      false,
-                               "context-reload",       true,
-                               "context-bookmarkpage", true], null,
-                          "---",                  null,
-                          "context-savepage",     true,
-                          "---",                  null,
-                          "context-viewbgimage",  false,
-                          "context-selectall",    true,
-                          "frame",                null,
-                              ["context-reloadframe",       true,
-                               "---",                       null,
-                               "context-saveframe",         true,
-                               "---",                       null,
-                               "context-printframe",        true,
-                               "---",                       null,
-                               "context-viewframesource",   true,
-                               "context-viewframeinfo",     true], null,
-                          "---",                  null,
-                          "context-viewsource",   true,
-                          "context-viewinfo",     true
-        ].concat(inspectItems));
-        closeContextMenu();
-        openContextMenuFor(inputspellfalse, false, true); // Invoke context menu for next test.
-    },
-
-    function () {
-        // Context menu for text input field with spellcheck=false
-        checkContextMenu(["context-undo",        false,
-                          "---",                 null,
-                          "context-cut",         true,
-                          "context-copy",        true,
-                          "context-paste",       null, // ignore clipboard state
-                          "context-delete",      false,
-                          "---",                 null,
-                          "context-selectall",   true,
-                          "---",                 null,
-                          "spell-add-dictionaries-main",  true,
-                         ].concat(inspectItems));
-
-        // finish test
-        subwindow.close();
-        SimpleTest.finish();
-    },
-  ];
-
-    /*
-     * Other things that would be nice to test:
-     *  - check state of disabled items
-     *  - test execution of menu items (maybe as a separate test?)
-     */
-
-  tests[testNum]();
-}
-
-
-var testNum;
-var subwindow, chromeWin, contextMenu;
-var text, link, mailto, input, img, canvas, video_ok, video_bad, video_bad2,
-    iframe, video_in_iframe, image_in_iframe, textarea, contenteditable,
-    pagemenu, dom_full_screen, plainTextItems, audio_in_video,
-    selecttext, selecttextlink, imagelink, select_inputtext, select_inputtext_password,
-    plugin, longdesc, iframe, inputspellfalse;
-
-function startTest() {
-    chromeWin = SpecialPowers.wrap(subwindow)
-                    .QueryInterface(Ci.nsIInterfaceRequestor)
-                    .getInterface(Ci.nsIWebNavigation)
-                    .QueryInterface(Ci.nsIDocShellTreeItem)
-                    .rootTreeItem
-                    .QueryInterface(Ci.nsIInterfaceRequestor)
-                    .getInterface(Ci.nsIDOMWindow)
-                    .QueryInterface(Ci.nsIDOMChromeWindow);
-    contextMenu = chromeWin.document.getElementById("contentAreaContextMenu");
-    ok(contextMenu, "Got context menu XUL");
-
-    if (chromeWin.document.getElementById("Browser:Stop").getAttribute("disabled") != "true") {
-      todo(false, "Wait for subwindow to load... (This should usually happen once.)");
-      SimpleTest.executeSoon(startTest);
-      return;
-    }
-
-    subwindow.allowFullscreen = true;
-    lastElement = null;
-
-    text   = subwindow.document.getElementById("test-text");
-    link   = subwindow.document.getElementById("test-link");
-    imagelink = subwindow.document.getElementById("test-image-link");
-    mailto = subwindow.document.getElementById("test-mailto");
-    input  = subwindow.document.getElementById("test-input");
-    img    = subwindow.document.getElementById("test-image");
-    canvas = subwindow.document.getElementById("test-canvas");
-    video_ok   = subwindow.document.getElementById("test-video-ok");
-    audio_in_video = subwindow.document.getElementById("test-audio-in-video");
-    video_bad  = subwindow.document.getElementById("test-video-bad");
-    video_bad2 = subwindow.document.getElementById("test-video-bad2");
-    iframe = subwindow.document.getElementById("test-iframe");
-    video_in_iframe = subwindow.document.getElementById("test-video-in-iframe").contentDocument.getElementsByTagName("video")[0];
-    video_in_iframe.pause();
-    image_in_iframe = subwindow.document.getElementById("test-image-in-iframe").contentDocument.getElementsByTagName("img")[0];
-    textarea = subwindow.document.getElementById("test-textarea");
-    contenteditable = subwindow.document.getElementById("test-contenteditable");
-    contenteditable.focus(); // content editable needs to be focused to enable spellcheck
-    inputspellfalse = subwindow.document.getElementById("test-contenteditable-spellcheck-false");
-    inputspellfalse.focus(); // content editable needs to be focused to enable spellcheck
-    pagemenu = subwindow.document.getElementById("test-pagemenu");
-    dom_full_screen = subwindow.document.getElementById("test-dom-full-screen");
-    selecttext = subwindow.document.getElementById("test-select-text");
-    selecttextlink = subwindow.document.getElementById("test-select-text-link");
-    select_inputtext = subwindow.document.getElementById("test-select-input-text");
-    select_inputtext_password = subwindow.document.getElementById("test-select-input-text-type-password");
-    plugin = subwindow.document.getElementById("test-plugin");
-    longdesc = subwindow.document.getElementById("test-longdesc");
-    srcdoc = subwindow.document.getElementById("test-srcdoc");
-
-    contextMenu.addEventListener("popupshown", function() { runTest(++testNum); }, false);
-    testNum = 0;
-    runTest(testNum);
-}
-
-// We open this in a separate window, because the Mochitests run inside a frame.
-// The frame causes an extra menu item, and prevents running the test
-// standalone (ie, clicking the test name in the Mochitest window) to see
-// success/failure messages.
-var painted = false, loaded = false;
-
-function waitForEvents(event)
-{
-  if (event.type == "MozAfterPaint")
-    painted = true;
-  else if (event.type == "load")
-    loaded = true;
-  if (painted && loaded) {
-    subwindow.removeEventListener("MozAfterPaint", waitForEvents, false);
-    subwindow.onload = null;
-    SimpleTest.waitForFocus(startTest, subwindow);
-  }
-}
-
-SpecialPowers.setBoolPref("plugins.click_to_play", true);
-setTestPluginEnabledState(Ci.nsIPluginTag.STATE_CLICKTOPLAY);
-
-var subwindow = window.open("./subtst_contextmenu.html", "contextmenu-subtext", "width=600,height=800");
-subwindow.addEventListener("MozAfterPaint", waitForEvents, false);
-subwindow.onload = waitForEvents;
-
-SimpleTest.waitForExplicitFinish();
-</script>
-</pre>
-</body>
-</html>