/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef nsNSSDialogHelper_h #define nsNSSDialogHelper_h #include "nsError.h" class mozIDOMWindowProxy; class nsISupports; /** * Helper class that uses the window watcher service to open a standard dialog, * with or without a parent context. */ class nsNSSDialogHelper { public: /** * Opens a XUL dialog. * * @param window * Parent window of the dialog, or nullptr to signal no parent. * @param url * URL to the XUL dialog. * @param params * Parameters to pass to the dialog. Same semantics as the * nsIWindowWatcher.openWindow() |aArguments| parameter. * @param modal * true if the dialog should be modal, false otherwise. * @return The result of opening the dialog. */ static nsresult openDialog(mozIDOMWindowProxy* window, const char* url, nsISupports* params, bool modal = true); }; #endif // nsNSSDialogHelper_h