mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-02 22:08:40 +09:00
Issue #1366 - Completely remove showModalDialog
This commit is contained in:
parent
abb2afe2a7
commit
8d600c51ed
38 changed files with 14 additions and 1313 deletions
|
|
@ -683,7 +683,6 @@ nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy* aParent,
|
|||
bool windowNeedsName = false;
|
||||
bool windowIsModal = false;
|
||||
bool uriToLoadIsChrome = false;
|
||||
bool windowIsModalContentDialog = false;
|
||||
|
||||
uint32_t chromeFlags;
|
||||
nsAutoString name; // string version of aName
|
||||
|
|
@ -775,30 +774,12 @@ nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy* aParent,
|
|||
} else {
|
||||
chromeFlags = CalculateChromeFlagsForChild(features);
|
||||
|
||||
// Until ShowModalDialog is removed, it's still possible for content to
|
||||
// request dialogs, but only in single-process mode.
|
||||
if (aDialog) {
|
||||
MOZ_ASSERT(XRE_IsParentProcess());
|
||||
chromeFlags |= nsIWebBrowserChrome::CHROME_OPENAS_DIALOG;
|
||||
}
|
||||
}
|
||||
|
||||
// If we're not called through our JS version of the API, and we got
|
||||
// our internal modal option, treat the window we're opening as a
|
||||
// modal content window (and set the modal chrome flag).
|
||||
if (!aCalledFromJS && aArgv &&
|
||||
WinHasOption(features, "-moz-internal-modal", 0, nullptr)) {
|
||||
windowIsModalContentDialog = true;
|
||||
|
||||
// CHROME_MODAL gets inherited by dependent windows, which affects various
|
||||
// platform-specific window state (especially on OSX). So we need some way
|
||||
// to determine that this window was actually opened by nsGlobalWindow::
|
||||
// ShowModalDialog(), and that somebody is actually going to be watching
|
||||
// for return values and all that.
|
||||
chromeFlags |= nsIWebBrowserChrome::CHROME_MODAL_CONTENT_WINDOW;
|
||||
chromeFlags |= nsIWebBrowserChrome::CHROME_MODAL;
|
||||
}
|
||||
|
||||
SizeSpec sizeSpec;
|
||||
CalcSizeSpec(features, sizeSpec);
|
||||
|
||||
|
|
@ -1079,7 +1060,7 @@ nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy* aParent,
|
|||
MaybeDisablePersistence(features, newTreeOwner);
|
||||
}
|
||||
|
||||
if ((aDialog || windowIsModalContentDialog) && aArgv) {
|
||||
if (aDialog && aArgv) {
|
||||
// Set the args on the new window.
|
||||
nsCOMPtr<nsPIDOMWindowOuter> piwin(do_QueryInterface(*aResult));
|
||||
NS_ENSURE_TRUE(piwin, NS_ERROR_UNEXPECTED);
|
||||
|
|
@ -1268,8 +1249,7 @@ nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy* aParent,
|
|||
SizeOpenedWindow(newTreeOwner, aParent, isCallerChrome, sizeSpec);
|
||||
}
|
||||
|
||||
// XXXbz isn't windowIsModal always true when windowIsModalContentDialog?
|
||||
if (windowIsModal || windowIsModalContentDialog) {
|
||||
if (windowIsModal) {
|
||||
nsCOMPtr<nsIDocShellTreeOwner> newTreeOwner;
|
||||
newDocShellItem->GetTreeOwner(getter_AddRefs(newTreeOwner));
|
||||
nsCOMPtr<nsIWebBrowserChrome> newChrome(do_GetInterface(newTreeOwner));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue