/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 * 
 * The Original Code is the Mozilla browser.
 * 
 * The Initial Developer of the Original Code is Netscape
 * Communications, Inc.  Portions created by Netscape are
 * Copyright (C) 1999, Mozilla.  All Rights Reserved.
 * 
 * Contributor(s):
 *   Travis Bogard <travis@netscape.com>
 */

#include "nsISupports.idl"
#include "nsIEnumerator.idl"

/**
 * The nsIWebBrowserSetup    
 *
 * @status UNDER_REVIEW
 */

[scriptable, uuid(F15398A0-8018-11d3-AF70-00A024FFC08C)]
interface nsIWebBrowserSetup : nsISupports
{
   const unsigned long SETUP_ALLOW_PLUGINS         = 1;
   const unsigned long SETUP_ALLOW_JAVASCRIPT      = 2;
   const unsigned long SETUP_ALLOW_META_REDIRECTS  = 3;
   const unsigned long SETUP_ALLOW_SUBFRAMES       = 4;

   /**
    * SETUP_ALLOW_IMAGES enables/disables image loading for a given webBrowser
    * window. If you disable the images, load a page, then enable the images,
    * the page will *not* automatically load the images for the previously
    * loaded page. This flag controls the state of a webBrowser at load time 
    * and does not automatcially re-load a page when the state is toggled. 
    * Reloading must be done by hand, or by walking through the DOM tree and 
    * re-setting the src attributes.
    */
   const unsigned long SETUP_ALLOW_IMAGES          = 5;

   /* SETUP_FOCUS_DOC_BEFORE_CONTENT lets an embeddor control whether the document
    * as a whole gets focus before traversing the document's content, or after
    * traversing its content.
    */

   const unsigned long SETUP_FOCUS_DOC_BEFORE_CONTENT = 6;

   const unsigned long SETUP_USE_GLOBAL_HISTORY    = 256;

	void setProperty(in unsigned long aId, in unsigned long aValue);
};

