/* -*- Mode: C++; tab-width: 2; 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 mozilla.org code. * The Initial Developer of the Original Code is Netscape * Communications, Inc. Portions created by Netscape are * Copyright (C) 2001, Mozilla. All Rights Reserved. * Contributor(s): */ /* nsIWindowCreator is a callback interface used by Gecko to create new browser windows. The application, which could be Mozilla or an embedding app, must provide an implementation to the Window Watcher component. */ #include "nsISupports.idl" interface nsIWebBrowserChrome; [uuid(30465632-A777-44cc-90F9-8145475EF999)] interface nsIWindowCreator : nsISupports { /** Create a new window. Gecko will/may call this method, if made available to it, to create new windows. @param parent parent window, if any. null if not. the newly created window should be made a child/dependent window of the parent, if any (and if the concept applies to the overlying OS). @param chromeFlags chrome features from nsIWebBrowserChrome @return the new window */ nsIWebBrowserChrome createChromeWindow(in nsIWebBrowserChrome parent, in PRUint32 chromeFlags); }; %{C++ // {30465632-A777-44cc-90F9-8145475EF999} #define NS_WINDOWCREATOR_IID \ {0x30465632, 0xa777, 0x44cc, {0x90, 0xf9, 0x81, 0x45, 0x47, 0x5e, 0xf9, 0x99}} %}