зеркало из https://github.com/mozilla/pjs.git
Backing out patch for bug 405924 - error on mochitest
This commit is contained in:
Родитель
3a2931930b
Коммит
e1afe2a9b3
|
@ -40,7 +40,6 @@ DEPTH = ../../../..
|
||||||
topsrcdir = @top_srcdir@
|
topsrcdir = @top_srcdir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
relativesrcdir = toolkit/components/places/tests
|
|
||||||
|
|
||||||
include $(DEPTH)/config/autoconf.mk
|
include $(DEPTH)/config/autoconf.mk
|
||||||
|
|
||||||
|
@ -51,13 +50,6 @@ XPCSHELL_TESTS = unit \
|
||||||
queries \
|
queries \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
# Simple MochiTests
|
|
||||||
MOCHI_TESTS = mochitest/test_bug_405924.html \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
MOCHI_CONTENT = mochitest/prompt_common.js \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
ifdef MOZ_MOCHITEST
|
ifdef MOZ_MOCHITEST
|
||||||
DIRS = \
|
DIRS = \
|
||||||
chrome \
|
chrome \
|
||||||
|
@ -67,6 +59,3 @@ DIRS = \
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
libs:: $(MOCHI_TESTS) $(MOCHI_CONTENT)
|
|
||||||
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)
|
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
||||||
|
|
||||||
const Ci = Components.interfaces;
|
|
||||||
ok(Ci != null, "Access Ci");
|
|
||||||
const Cc = Components.classes;
|
|
||||||
ok(Cc != null, "Access Cc");
|
|
||||||
|
|
||||||
var didDialog;
|
|
||||||
|
|
||||||
var timer; // keep in outer scope so it's not GC'd before firing
|
|
||||||
function startCallbackTimer() {
|
|
||||||
didDialog = false;
|
|
||||||
|
|
||||||
// Delay before the callback twiddles the prompt.
|
|
||||||
const dialogDelay = 10;
|
|
||||||
|
|
||||||
// Use a timer to invoke a callback to twiddle the authentication dialog
|
|
||||||
timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
|
|
||||||
timer.init(observer, dialogDelay, Ci.nsITimer.TYPE_ONE_SHOT);
|
|
||||||
}
|
|
||||||
|
|
||||||
var observer = {
|
|
||||||
QueryInterface : function (iid) {
|
|
||||||
const interfaces = [Ci.nsIObserver,
|
|
||||||
Ci.nsISupports, Ci.nsISupportsWeakReference];
|
|
||||||
|
|
||||||
if (!interfaces.some( function(v) { return iid.equals(v) } ))
|
|
||||||
throw Components.results.NS_ERROR_NO_INTERFACE;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
observe : function (subject, topic, data) {
|
|
||||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
||||||
|
|
||||||
var doc = getDialogDoc();
|
|
||||||
if (doc)
|
|
||||||
handleDialog(doc);
|
|
||||||
else
|
|
||||||
startCallbackTimer(); // try again in a bit
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function getDialogDoc() {
|
|
||||||
// Find the <browser> which contains notifyWindow, by looking
|
|
||||||
// through all the open windows and all the <browsers> in each.
|
|
||||||
var wm = Cc["@mozilla.org/appshell/window-mediator;1"].
|
|
||||||
getService(Ci.nsIWindowMediator);
|
|
||||||
//var enumerator = wm.getEnumerator("navigator:browser");
|
|
||||||
var enumerator = wm.getXULWindowEnumerator(null);
|
|
||||||
|
|
||||||
while (enumerator.hasMoreElements()) {
|
|
||||||
var win = enumerator.getNext();
|
|
||||||
var windowDocShell = win.QueryInterface(Ci.nsIXULWindow).docShell;
|
|
||||||
|
|
||||||
var containedDocShells = windowDocShell.getDocShellEnumerator(
|
|
||||||
Ci.nsIDocShellTreeItem.typeChrome,
|
|
||||||
Ci.nsIDocShell.ENUMERATE_FORWARDS);
|
|
||||||
while (containedDocShells.hasMoreElements()) {
|
|
||||||
// Get the corresponding document for this docshell
|
|
||||||
var childDocShell = containedDocShells.getNext();
|
|
||||||
// We don't want it if it's not done loading.
|
|
||||||
if (childDocShell.busyFlags != Ci.nsIDocShell.BUSY_FLAGS_NONE)
|
|
||||||
continue;
|
|
||||||
var childDoc = childDocShell.QueryInterface(Ci.nsIDocShell).
|
|
||||||
contentViewer.DOMDocument;
|
|
||||||
|
|
||||||
//ok(true, "Got window: " + childDoc.location.href);
|
|
||||||
if (childDoc.location.href == "chrome://global/content/commonDialog.xul")
|
|
||||||
return childDoc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
Загрузка…
Ссылка в новой задаче