1999-11-18 12:17:07 +03:00
|
|
|
/* -*- 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"
|
|
|
|
|
|
|
|
interface nsIWebBrowser;
|
2000-03-28 13:24:12 +04:00
|
|
|
interface nsIDocShellTreeItem;
|
1999-11-18 12:17:07 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The nsIWebBrowserChrome
|
|
|
|
*/
|
|
|
|
|
|
|
|
[scriptable, uuid(BA434C60-9D52-11d3-AFB0-00A024FFC08C)]
|
|
|
|
interface nsIWebBrowserChrome : nsISupports
|
|
|
|
{
|
2000-08-25 22:39:46 +04:00
|
|
|
const unsigned long STATUS_SCRIPT = 0x00000001;
|
|
|
|
const unsigned long STATUS_SCRIPT_DEFAULT = 0x00000002;
|
|
|
|
const unsigned long STATUS_LINK = 0x00000003;
|
1999-11-18 12:17:07 +03:00
|
|
|
|
2000-02-05 06:24:42 +03:00
|
|
|
/*
|
2000-08-25 22:39:46 +04:00
|
|
|
Called when the status text in the chrome needs to be updated.
|
|
|
|
The statusType indicates what is setting the text, the text is nsnull
|
|
|
|
when there is no longer any status
|
|
|
|
*/
|
|
|
|
void setStatus(in unsigned long statusType, in wstring status);
|
1999-11-18 12:17:07 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
This is the currently loaded webBrowser. The browser chrome may be
|
|
|
|
told to set the webBrowser object to a new object via setting of this
|
|
|
|
attribute. In this case the implementer is responsible for taking the
|
|
|
|
new webBrowser object and doing any necessary initialization or setup
|
|
|
|
as if it had created the webBrowser itself. This includes positioning
|
|
|
|
setting up listeners etc.
|
|
|
|
*/
|
|
|
|
attribute nsIWebBrowser webBrowser;
|
|
|
|
|
2000-02-01 03:06:44 +03:00
|
|
|
/*
|
|
|
|
Definitions for the chrome masks
|
|
|
|
*/
|
2000-08-25 22:39:46 +04:00
|
|
|
const unsigned long CHROME_DEFAULT = 0x00000001;
|
|
|
|
const unsigned long CHROME_WINDOW_BORDERS = 0x00000002;
|
|
|
|
const unsigned long CHROME_WINDOW_CLOSE = 0x00000004;
|
|
|
|
const unsigned long CHROME_WINDOW_RESIZE = 0x00000008;
|
|
|
|
const unsigned long CHROME_MENUBAR = 0x00000010;
|
|
|
|
const unsigned long CHROME_TOOLBAR = 0x00000020;
|
|
|
|
const unsigned long CHROME_LOCATIONBAR = 0x00000040;
|
|
|
|
const unsigned long CHROME_STATUSBAR = 0x00000080;
|
|
|
|
const unsigned long CHROME_PERSONAL_TOOLBAR = 0x00000100;
|
|
|
|
const unsigned long CHROME_SCROLLBARS = 0x00000200;
|
|
|
|
const unsigned long CHROME_TITLEBAR = 0x00000400;
|
|
|
|
const unsigned long CHROME_EXTRA = 0x00000800;
|
2000-04-02 02:02:18 +04:00
|
|
|
|
2000-08-25 22:39:46 +04:00
|
|
|
const unsigned long CHROME_WINDOW_RAISED = 0x02000000;
|
|
|
|
const unsigned long CHROME_WINDOW_LOWERED = 0x04000000;
|
|
|
|
const unsigned long CHROME_CENTER_SCREEN = 0x08000000;
|
|
|
|
const unsigned long CHROME_DEPENDENT = 0x10000000;
|
|
|
|
// Note: The modal style bit just affects the way the window looks and does
|
|
|
|
// mean it's actually modal.
|
|
|
|
const unsigned long CHROME_MODAL = 0x20000000;
|
|
|
|
const unsigned long CHROME_OPENAS_DIALOG = 0x40000000;
|
|
|
|
const unsigned long CHROME_OPENAS_CHROME = 0x80000000;
|
2000-04-02 02:02:18 +04:00
|
|
|
|
2000-08-25 22:39:46 +04:00
|
|
|
const unsigned long CHROME_ALL = 0x00000ffe;
|
2000-02-01 03:06:44 +03:00
|
|
|
|
|
|
|
/*
|
2000-08-25 22:39:46 +04:00
|
|
|
The chrome flags for this browser chrome
|
2000-02-01 03:06:44 +03:00
|
|
|
*/
|
2000-08-25 22:39:46 +04:00
|
|
|
attribute unsigned long chromeFlags;
|
2000-02-01 03:06:44 +03:00
|
|
|
|
1999-11-18 12:17:07 +03:00
|
|
|
/*
|
|
|
|
Tells the implementer of this interface to create a new webBrowserChrome
|
|
|
|
object for it. Typically this means the implemetor will create a new
|
|
|
|
top level window that is represented by nsIWebBrowserChrome. This
|
|
|
|
most often will be called when for instance there is a need for a new
|
|
|
|
JS window, etc. Soon after this new object is returned, the webBrowser
|
2000-02-01 03:06:44 +03:00
|
|
|
attribute will checked, if one does not exist, one will be created and
|
|
|
|
setWebBrowser will be called with the new widget to instantiate in this
|
1999-11-18 12:17:07 +03:00
|
|
|
new window.
|
|
|
|
*/
|
2000-08-25 22:39:46 +04:00
|
|
|
|
|
|
|
nsIWebBrowser createBrowserWindow(in unsigned long chromeFlags);
|
1999-11-18 12:17:07 +03:00
|
|
|
|
2000-03-28 13:24:12 +04:00
|
|
|
|
|
|
|
/*
|
|
|
|
Return the child DocShellTreeItem with the specified name. To implement this
|
|
|
|
an embedder should call nsIDocShellTreeItem::findItemWithName on all the open
|
|
|
|
webBrowser objects. If one succeeds this should be returned. If they all fail
|
|
|
|
simply return null.
|
|
|
|
@param aName - This is the name of the item that is trying to be found.
|
|
|
|
*/
|
|
|
|
nsIDocShellTreeItem findNamedBrowserItem(in wstring aName);
|
2000-03-14 10:06:07 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
Tells the chrome to size itself such that the browser will be the
|
|
|
|
specified size.
|
|
|
|
*/
|
|
|
|
void sizeBrowserTo(in long aCX, in long aCY);
|
|
|
|
|
|
|
|
/*
|
|
|
|
Shows the window as a modal window.
|
|
|
|
*/
|
|
|
|
void showAsModal();
|
2000-06-22 02:05:28 +04:00
|
|
|
|
2000-07-13 03:56:14 +04:00
|
|
|
/**
|
|
|
|
Exit a modal event loop if we're in one. The implementation
|
|
|
|
should also exit out of the loop if the window is destroyed.
|
|
|
|
@param aStatus - the result code to return from showAsModal
|
|
|
|
*/
|
|
|
|
void exitModalEventLoop(in nsresult aStatus);
|
|
|
|
|
2000-06-22 02:05:28 +04:00
|
|
|
/*
|
|
|
|
Sets the persistence of different dimensions of the window.
|
|
|
|
*/
|
|
|
|
void setPersistence(in boolean persistX, in boolean persistY,
|
|
|
|
in boolean persistCX, in boolean persistCY,
|
|
|
|
in boolean persistSizeMode);
|
|
|
|
|
|
|
|
/*
|
|
|
|
Gets the current persistence states of the window.
|
|
|
|
*/
|
|
|
|
void getPersistence(out boolean persistX, out boolean persistY,
|
|
|
|
out boolean persistCX, out boolean persistCY,
|
|
|
|
out boolean persistSizeMode);
|
|
|
|
|
1999-11-18 12:17:07 +03:00
|
|
|
};
|