layout/printing/nsIPrintProgress.idl
author Luke Wagner <luke@mozilla.com>
Mon, 12 Nov 2012 15:30:39 -0800
changeset 113031 7c4212c1e583c7b154a6bcc4a4fa2ee1c9dc35ad
parent 94475 f4157e8c410708d76703f19e4dfb61859bfe32d8
child 148221 3a21097df258672510a448368e226bb37ed23d1b
permissions -rw-r--r--
Bug 810192 - don't require a default constructor for Hash{Map,Set}; only construct objects for live elements (r=terrence)

/* -*- Mode: C++; tab-width: 4; 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/. */
#include "nsISupports.idl"
#include "nsIWebProgressListener.idl"

interface nsIDOMWindow;
interface nsIObserver;
interface nsIPrompt;

[scriptable, uuid(594fd36d-5b1b-412f-a74e-ab72099a5bb2)]
interface nsIPrintProgress: nsIWebProgressListener {

  /* Open the progress dialog
     you can specify parameters through an xpcom object
  */
  void openProgressDialog(in nsIDOMWindow parent, 
                          in string dialogURL, 
                          in nsISupports parameters, 
                          in nsIObserver openDialogObserver,
                          out boolean notifyOnOpen);
  
  /* Close the progress dialog */
  void closeProgressDialog(in boolean forceClose);
  
  /* Register a Web Progress Listener */
  void registerListener(in nsIWebProgressListener listener);

  /* Unregister a Web Progress Listener */
  void unregisterListener(in nsIWebProgressListener listener);
  
  /* This method is called after the dialog that shows the progress has been shown 
  */
  void doneIniting();
  
  /* Retrieve the prompter, needed to display modal dialog on top of progress dialog */
  nsIPrompt getPrompter();

  /* Indicated if the user asked to cancel the current process */
  attribute boolean processCanceledByUser;
};