зеркало из https://github.com/mozilla/gecko-dev.git
218 строки
5.9 KiB
Plaintext
218 строки
5.9 KiB
Plaintext
/* -*- 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>
|
|
* Steve Clark <buster@netscape.com>
|
|
*/
|
|
|
|
#include "nsISupports.idl"
|
|
#include "domstubs.idl"
|
|
#include "nsIPref.idl"
|
|
#include "nsIURIContentListener.idl"
|
|
#include "nsIURI.idl"
|
|
|
|
%{ C++
|
|
#include "nsIPresContext.h"
|
|
#include "nsIDocumentLoaderObserver.h"
|
|
%}
|
|
|
|
/**
|
|
* The nsIDocShell
|
|
*/
|
|
|
|
/*
|
|
{69E5DE00-7B8B-11d3-AF61-00A024FFC08C} -
|
|
{69E5DE99-7B8B-11d3-AF61-00A024FFC08C} have been reserved for DocShell
|
|
Interfaces.
|
|
|
|
Currently Used:
|
|
{69E5DE00-7B8B-11d3-AF61-00A024FFC08C} - nsIDocShell
|
|
{69E5DE01-7B8B-11d3-AF61-00A024FFC08C} - nsIDocShellFile
|
|
{69E5DE02-7B8B-11d3-AF61-00A024FFC08C} - nsIDocShellEdit
|
|
{69E5DE03-7B8B-11d3-AF61-00A024FFC08C} - nsIHTMLDocShell
|
|
{69E5DE04-7B8B-11d3-AF61-00A024FFC08C} - nsIDocShellContainer
|
|
*/
|
|
|
|
[ptr] native nsIPresContext(nsIPresContext);
|
|
[ptr] native nsIDocumentLoaderObserver(nsIDocumentLoaderObserver);
|
|
|
|
[scriptable, uuid(69E5DE00-7B8B-11d3-AF61-00A024FFC08C)]
|
|
interface nsIDocShell : nsISupports
|
|
{
|
|
/*
|
|
Loads a given URI. This will give priority to loading the requested URI
|
|
in the object implementing this interface. If it can't be loaded here
|
|
however, the URL dispatcher will go through its normal process of content
|
|
loading.
|
|
|
|
@param uri - The URI to load.
|
|
@param presContext - Presentation Context to use for the new URL. This
|
|
may be null.
|
|
*/
|
|
[noscript]void loadURI(in nsIURI uri, in nsIPresContext presContext);
|
|
|
|
/*
|
|
Loads a given URI through the specified adapter. This will give priority
|
|
to loading the requested URI in the object implementing this interface.
|
|
If it can't be loaded here however, the URL dispatcher will go through its
|
|
normal process of content loading.
|
|
|
|
@param uri - The URI to load.
|
|
@param presContext - Presentation Context to use for the new URL. This
|
|
may be null.
|
|
@param adapterBinding - The local IP address of the adapter to bind to.
|
|
*/
|
|
[noscript]void loadURIVia(in nsIURI uri, in nsIPresContext presContext,
|
|
in unsigned long adapterBinding);
|
|
|
|
/*
|
|
Sets the current document to the one being passed in. This will simulate
|
|
a load.
|
|
|
|
@param document - The document to load.
|
|
@param rootNode - The root of the document content, to be hooked up
|
|
*/
|
|
[noscript]void setDocument(in nsIDOMDocument document, in nsIDOMElement rootNode);
|
|
|
|
/*
|
|
The current document that is loaded in the DocShell.
|
|
*/
|
|
readonly attribute nsIDOMDocument document;
|
|
|
|
/*
|
|
The current URI that is loaded.
|
|
*/
|
|
readonly attribute nsIURI currentURI;
|
|
|
|
/* clients may get and set an nsIDocumentLoaderObserver, which will be notified
|
|
* during loadURI, loadURIVia, and setDocument
|
|
*/
|
|
attribute nsIDocumentLoaderObserver docLoaderObserver;
|
|
|
|
/*
|
|
name of the DocShell
|
|
*/
|
|
attribute wstring name;
|
|
|
|
/*
|
|
Presentation context for the currently loaded document. This may be null.
|
|
*/
|
|
readonly attribute nsIPresContext presContext;
|
|
|
|
/*
|
|
Parent DocShell.. Note Implementers of this interface should NOT effect
|
|
the lifetime of the parent DocShell by holding this reference as it creates
|
|
a cycle. Parents when releasing this interface should set the parent to
|
|
nsnull. Implementers of this interface are guaranteed that when parent is
|
|
set that the pointer is valid without having to addref.
|
|
|
|
Further note however when others try to Get the interface you should add
|
|
ref it before handing it to them.
|
|
*/
|
|
attribute nsIDocShell parent;
|
|
|
|
/*
|
|
URI content listener parent
|
|
*/
|
|
attribute nsIURIContentListener parentURIContentListener;
|
|
|
|
/*
|
|
Prefs to use for the DocShell.
|
|
*/
|
|
attribute nsIPref prefs;
|
|
|
|
/*
|
|
Returns the root DocShell instance. Since DocShells can be nested
|
|
(when frames are present for example) this instance represents the
|
|
outermost DocShell.
|
|
*/
|
|
readonly attribute nsIDocShell rootDocShell;
|
|
|
|
/**
|
|
* Set/Get the document scale factor. When setting this attribute, a
|
|
* NS_ERROR_NOT_IMPLEMENTED error may be returned by implementations
|
|
* not supporting zoom. Implementations not supporting zoom should return
|
|
* 1.0 all the time for the Get operation. 1.0 by the way is the default
|
|
* of zoom. This means 100% of normal scaling or in other words normal size
|
|
* no zoom.
|
|
*/
|
|
attribute float zoom;
|
|
};
|
|
|
|
/**
|
|
* The nsIHTMLDocShell - XXX This is going away.
|
|
*/
|
|
|
|
[scriptable, uuid(69E5DE03-7B8B-11d3-AF61-00A024FFC08C)]
|
|
interface nsIHTMLDocShell : nsISupports
|
|
{
|
|
/*
|
|
Scrolls to a given DOM content node.
|
|
*/
|
|
void scrollToNode(in nsIDOMNode node);
|
|
|
|
/** if true, plugins are allowed within the doc shell. default = true */
|
|
attribute boolean allowPlugins;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
attribute long marginWidth;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
attribute long marginHeight;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
attribute boolean isFrame;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
attribute wstring defaultCharacterSet;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
attribute wstring forceCharacterSet;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
readonly attribute wstring hintCharacterSet;
|
|
|
|
/*
|
|
XXX Comment here!
|
|
*/
|
|
readonly attribute PRInt32 hintCharacterSetSource;
|
|
|
|
/* the following is the hacky access method
|
|
Commented out as nsCharsetSource should be something IDL like
|
|
void GetCharacterSetHint(in wstring hintCharset, in nsCharsetSource charsetSource);
|
|
*/
|
|
|
|
/**
|
|
* Tell the window to shrink-to-fit or grow-to-fit its contents
|
|
*/
|
|
void sizeToContent();
|
|
};
|