mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 699130 - Backed out changeset 67d9339ff0df, bad commit message.
This commit is contained in:
parent
684d37873c
commit
299a438c06
@ -798,8 +798,6 @@ var Scratchpad = {
|
|||||||
*/
|
*/
|
||||||
onEditPopupShowing: function SP_onEditPopupShowing()
|
onEditPopupShowing: function SP_onEditPopupShowing()
|
||||||
{
|
{
|
||||||
goUpdateGlobalEditMenuItems();
|
|
||||||
|
|
||||||
let undo = document.getElementById("sp-cmd-undo");
|
let undo = document.getElementById("sp-cmd-undo");
|
||||||
undo.setAttribute("disabled", !this.editor.canUndo());
|
undo.setAttribute("disabled", !this.editor.canUndo());
|
||||||
|
|
||||||
|
@ -290,8 +290,7 @@
|
|||||||
</menubar>
|
</menubar>
|
||||||
|
|
||||||
<popupset id="scratchpad-popups">
|
<popupset id="scratchpad-popups">
|
||||||
<menupopup id="scratchpad-text-popup"
|
<menupopup id="scratchpad-text-popup">
|
||||||
onpopupshowing="goUpdateGlobalEditMenuItems()">
|
|
||||||
<menuitem id="menu_cut"/>
|
<menuitem id="menu_cut"/>
|
||||||
<menuitem id="menu_copy"/>
|
<menuitem id="menu_copy"/>
|
||||||
<menuitem id="menu_paste"/>
|
<menuitem id="menu_paste"/>
|
||||||
|
@ -56,7 +56,6 @@ _BROWSER_TEST_FILES = \
|
|||||||
browser_scratchpad_open.js \
|
browser_scratchpad_open.js \
|
||||||
browser_scratchpad_restore.js \
|
browser_scratchpad_restore.js \
|
||||||
browser_scratchpad_bug_679467_falsy.js \
|
browser_scratchpad_bug_679467_falsy.js \
|
||||||
browser_scratchpad_bug_699130_edit_ui_updates.js \
|
|
||||||
|
|
||||||
libs:: $(_BROWSER_TEST_FILES)
|
libs:: $(_BROWSER_TEST_FILES)
|
||||||
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
|
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
|
||||||
|
@ -1,193 +0,0 @@
|
|||||||
/* vim: set ts=2 et sw=2 tw=80: */
|
|
||||||
/* Any copyright is dedicated to the Public Domain.
|
|
||||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
Cu.import("resource:///modules/source-editor.jsm");
|
|
||||||
|
|
||||||
// Reference to the Scratchpad chrome window object.
|
|
||||||
let gScratchpadWindow;
|
|
||||||
|
|
||||||
function test()
|
|
||||||
{
|
|
||||||
waitForExplicitFinish();
|
|
||||||
|
|
||||||
gBrowser.selectedTab = gBrowser.addTab();
|
|
||||||
gBrowser.selectedBrowser.addEventListener("load", function onLoad() {
|
|
||||||
gBrowser.selectedBrowser.removeEventListener("load", onLoad, true);
|
|
||||||
|
|
||||||
gScratchpadWindow = Scratchpad.openScratchpad();
|
|
||||||
gScratchpadWindow.addEventListener("load", function onScratchpadLoad() {
|
|
||||||
gScratchpadWindow.removeEventListener("load", onScratchpadLoad, false);
|
|
||||||
waitForFocus(runTests, gScratchpadWindow);
|
|
||||||
}, false);
|
|
||||||
}, true);
|
|
||||||
|
|
||||||
content.location = "data:text/html,test Edit menu updates Scratchpad - bug 699130";
|
|
||||||
}
|
|
||||||
|
|
||||||
function runTests()
|
|
||||||
{
|
|
||||||
let sp = gScratchpadWindow.Scratchpad;
|
|
||||||
let doc = gScratchpadWindow.document;
|
|
||||||
let winUtils = gScratchpadWindow.QueryInterface(Ci.nsIInterfaceRequestor).
|
|
||||||
getInterface(Ci.nsIDOMWindowUtils);
|
|
||||||
let OS = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).OS;
|
|
||||||
|
|
||||||
info("will test the Edit menu");
|
|
||||||
|
|
||||||
let pass = 0;
|
|
||||||
|
|
||||||
sp.setText("bug 699130: hello world! (edit menu)");
|
|
||||||
|
|
||||||
let editMenu = doc.getElementById("sp-edit-menu");
|
|
||||||
ok(editMenu, "the Edit menu");
|
|
||||||
let menubar = editMenu.parentNode;
|
|
||||||
ok(menubar, "menubar found");
|
|
||||||
|
|
||||||
let editMenuIndex = -1;
|
|
||||||
for (let i = 0; i < menubar.children.length; i++) {
|
|
||||||
if (menubar.children[i] === editMenu) {
|
|
||||||
editMenuIndex = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
isnot(editMenuIndex, -1, "Edit menu index is correct");
|
|
||||||
|
|
||||||
let menuPopup = editMenu.menupopup;
|
|
||||||
ok(menuPopup, "the Edit menupopup");
|
|
||||||
let cutItem = doc.getElementById("sp-menu-cut");
|
|
||||||
ok(cutItem, "the Cut menuitem");
|
|
||||||
let pasteItem = doc.getElementById("sp-menu-paste");
|
|
||||||
ok(pasteItem, "the Paste menuitem");
|
|
||||||
|
|
||||||
let anchor = doc.documentElement;
|
|
||||||
let isContextMenu = false;
|
|
||||||
|
|
||||||
let openMenu = function(aX, aY, aCallback) {
|
|
||||||
if (!editMenu || OS != "Darwin") {
|
|
||||||
menuPopup.addEventListener("popupshown", function onPopupShown() {
|
|
||||||
menuPopup.removeEventListener("popupshown", onPopupShown, false);
|
|
||||||
executeSoon(aCallback);
|
|
||||||
}, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
executeSoon(function() {
|
|
||||||
if (editMenu) {
|
|
||||||
if (OS == "Darwin") {
|
|
||||||
winUtils.forceUpdateNativeMenuAt(editMenuIndex);
|
|
||||||
executeSoon(aCallback);
|
|
||||||
} else {
|
|
||||||
editMenu.open = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
menuPopup.openPopup(anchor, "overlap", aX, aY, isContextMenu, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
let closeMenu = function(aCallback) {
|
|
||||||
if (!editMenu || OS != "Darwin") {
|
|
||||||
menuPopup.addEventListener("popuphidden", function onPopupHidden() {
|
|
||||||
menuPopup.removeEventListener("popuphidden", onPopupHidden, false);
|
|
||||||
executeSoon(aCallback);
|
|
||||||
}, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
executeSoon(function() {
|
|
||||||
if (editMenu) {
|
|
||||||
if (OS == "Darwin") {
|
|
||||||
winUtils.forceUpdateNativeMenuAt(editMenuIndex);
|
|
||||||
executeSoon(aCallback);
|
|
||||||
} else {
|
|
||||||
editMenu.open = false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
menuPopup.hidePopup();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
let firstShow = function() {
|
|
||||||
ok(cutItem.hasAttribute("disabled"), "cut menuitem is disabled");
|
|
||||||
closeMenu(firstHide);
|
|
||||||
};
|
|
||||||
|
|
||||||
let firstHide = function() {
|
|
||||||
sp.selectRange(0, 10);
|
|
||||||
openMenu(11, 11, showAfterSelect);
|
|
||||||
};
|
|
||||||
|
|
||||||
let showAfterSelect = function() {
|
|
||||||
ok(!cutItem.hasAttribute("disabled"), "cut menuitem is enabled after select");
|
|
||||||
closeMenu(hideAfterSelect);
|
|
||||||
};
|
|
||||||
|
|
||||||
let hideAfterSelect = function() {
|
|
||||||
sp.editor.addEventListener(SourceEditor.EVENTS.TEXT_CHANGED, onCut);
|
|
||||||
EventUtils.synthesizeKey("x", {accelKey: true}, gScratchpadWindow);
|
|
||||||
};
|
|
||||||
|
|
||||||
let onCut = function() {
|
|
||||||
sp.editor.removeEventListener(SourceEditor.EVENTS.TEXT_CHANGED, onCut);
|
|
||||||
openMenu(12, 12, showAfterCut);
|
|
||||||
};
|
|
||||||
|
|
||||||
let showAfterCut = function() {
|
|
||||||
ok(cutItem.hasAttribute("disabled"), "cut menuitem is disabled after cut");
|
|
||||||
ok(!pasteItem.hasAttribute("disabled"), "paste menuitem is enabled after cut");
|
|
||||||
closeMenu(hideAfterCut);
|
|
||||||
};
|
|
||||||
|
|
||||||
let hideAfterCut = function() {
|
|
||||||
sp.editor.addEventListener(SourceEditor.EVENTS.TEXT_CHANGED, onPaste);
|
|
||||||
EventUtils.synthesizeKey("v", {accelKey: true}, gScratchpadWindow);
|
|
||||||
};
|
|
||||||
|
|
||||||
let onPaste = function() {
|
|
||||||
sp.editor.removeEventListener(SourceEditor.EVENTS.TEXT_CHANGED, onPaste);
|
|
||||||
openMenu(13, 13, showAfterPaste);
|
|
||||||
};
|
|
||||||
|
|
||||||
let showAfterPaste = function() {
|
|
||||||
ok(cutItem.hasAttribute("disabled"), "cut menuitem is disabled after paste");
|
|
||||||
ok(!pasteItem.hasAttribute("disabled"), "paste menuitem is enabled after paste");
|
|
||||||
closeMenu(hideAfterPaste);
|
|
||||||
};
|
|
||||||
|
|
||||||
let hideAfterPaste = function() {
|
|
||||||
if (pass == 0) {
|
|
||||||
pass++;
|
|
||||||
testContextMenu();
|
|
||||||
} else {
|
|
||||||
finishTest();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let testContextMenu = function() {
|
|
||||||
info("will test the context menu");
|
|
||||||
|
|
||||||
editMenu = null;
|
|
||||||
isContextMenu = true;
|
|
||||||
|
|
||||||
menuPopup = doc.getElementById("scratchpad-text-popup");
|
|
||||||
ok(menuPopup, "the context menupopup");
|
|
||||||
cutItem = doc.getElementById("menu_cut");
|
|
||||||
ok(cutItem, "the Cut menuitem");
|
|
||||||
pasteItem = doc.getElementById("menu_paste");
|
|
||||||
ok(pasteItem, "the Paste menuitem");
|
|
||||||
|
|
||||||
sp.setText("bug 699130: hello world! (context menu)");
|
|
||||||
openMenu(10, 10, firstShow);
|
|
||||||
};
|
|
||||||
|
|
||||||
let finishTest = function() {
|
|
||||||
gScratchpadWindow.close();
|
|
||||||
gScratchpadWindow = null;
|
|
||||||
gBrowser.removeCurrentTab();
|
|
||||||
finish();
|
|
||||||
};
|
|
||||||
|
|
||||||
openMenu(10, 10, firstShow);
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user