Bug 692731 Re-implement sidebar.addPanel as an interim measure r=Mnyromyr

This commit is contained in:
Neil Rashbrook 2011-11-06 21:48:14 +00:00
Родитель 8287eb5e9d
Коммит f5eb86b152
3 изменённых файлов: 59 добавлений и 3 удалений

Просмотреть файл

@ -46,9 +46,10 @@ MODULE = suitecommon
XPIDL_MODULE = suitecommon XPIDL_MODULE = suitecommon
XPIDLSRCS = \ XPIDLSRCS = \
nsISuiteGlue.idl \
nsISessionStartup.idl \ nsISessionStartup.idl \
nsISessionStore.idl \ nsISessionStore.idl \
nsISidebarPanel.idl \
nsISuiteGlue.idl \
nsISuiteDownloadManagerUI.idl \ nsISuiteDownloadManagerUI.idl \
$(NULL) $(NULL)

Просмотреть файл

@ -0,0 +1,54 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*
The Sidebar API for 3rd parties
*/
#include "nsISupports.idl"
[scriptable, uuid(e0f4c5ee-2b35-4e99-81d2-ab956c4de0d1)]
interface nsISidebarPanel : nsISupports
{
void addPanel(in DOMString aTitle, in DOMString aContentURL,
in DOMString aCustomizeURL);
void addPersistentPanel(in DOMString aTitle, in DOMString aContentURL,
in DOMString aCustomizeURL);
};

Просмотреть файл

@ -61,6 +61,7 @@ const CONTAINER_CONTRACTID = "@mozilla.org/rdf/container;1";
const NETSEARCH_CONTRACTID = "@mozilla.org/rdf/datasource;1?name=internetsearch" const NETSEARCH_CONTRACTID = "@mozilla.org/rdf/datasource;1?name=internetsearch"
const nsISupports = Components.interfaces.nsISupports; const nsISupports = Components.interfaces.nsISupports;
const nsISidebar = Components.interfaces.nsISidebar; const nsISidebar = Components.interfaces.nsISidebar;
const nsISidebarPanel = Components.interfaces.nsISidebarPanel;
const nsISidebarExternal = Components.interfaces.nsISidebarExternal; const nsISidebarExternal = Components.interfaces.nsISidebarExternal;
const nsIRDFContainer = Components.interfaces.nsIRDFContainer; const nsIRDFContainer = Components.interfaces.nsIRDFContainer;
const nsIProperties = Components.interfaces.nsIProperties; const nsIProperties = Components.interfaces.nsIProperties;
@ -338,11 +339,11 @@ nsSidebar.prototype.classInfo = XPCOMUtils.generateCI({
classID: SIDEBAR_CID, classID: SIDEBAR_CID,
contractID: SIDEBAR_CONTRACTID, contractID: SIDEBAR_CONTRACTID,
classDescription: "Sidebar", classDescription: "Sidebar",
interfaces: [nsISidebar, nsISidebarExternal], interfaces: [nsISidebar, nsISidebarPanel, nsISidebarExternal],
flags: nsIClassInfo.DOM_OBJECT}); flags: nsIClassInfo.DOM_OBJECT});
nsSidebar.prototype.QueryInterface = nsSidebar.prototype.QueryInterface =
XPCOMUtils.generateQI([nsISidebar, nsISidebarExternal]); XPCOMUtils.generateQI([nsISidebar, nsISidebarPanel, nsISidebarExternal]);
nsSidebar.prototype.classID = SIDEBAR_CID; nsSidebar.prototype.classID = SIDEBAR_CID;