2001-09-28 20:14:13 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
2004-04-18 14:30:37 +00:00
|
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
1999-09-28 00:44:47 +00:00
|
|
|
*
|
2004-04-18 14:30:37 +00:00
|
|
|
* 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/
|
1999-09-28 00:44:47 +00:00
|
|
|
*
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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.
|
1999-09-28 00:44:47 +00:00
|
|
|
*
|
|
|
|
* The Original Code is Mozilla Communicator client code.
|
|
|
|
*
|
2004-04-18 14:30:37 +00:00
|
|
|
* The Initial Developer of the Original Code is
|
2001-09-28 20:14:13 +00:00
|
|
|
* Netscape Communications Corporation.
|
|
|
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
|
|
* the Initial Developer. All Rights Reserved.
|
1999-11-06 03:40:37 +00:00
|
|
|
*
|
2001-09-28 20:14:13 +00:00
|
|
|
* Contributor(s):
|
2000-02-02 22:24:56 +00:00
|
|
|
* Pierre Phaneuf <pp@ludusdesign.com>
|
2001-09-28 20:14:13 +00:00
|
|
|
*
|
|
|
|
* Alternatively, the contents of this file may be used under the terms of
|
2004-04-18 14:30:37 +00:00
|
|
|
* either of 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"),
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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
|
2004-04-18 14:30:37 +00:00
|
|
|
* use your version of this file under the terms of the MPL, indicate your
|
2001-09-28 20:14:13 +00:00
|
|
|
* 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
|
2004-04-18 14:30:37 +00:00
|
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
2001-09-28 20:14:13 +00:00
|
|
|
*
|
|
|
|
* ***** END LICENSE BLOCK ***** */
|
2006-05-19 09:31:57 +00:00
|
|
|
|
2010-05-13 17:44:51 +00:00
|
|
|
#ifdef MOZ_IPC
|
|
|
|
#include "base/basictypes.h"
|
|
|
|
#endif
|
|
|
|
|
2010-04-11 13:55:24 +00:00
|
|
|
#include "xpcmodule.h"
|
2010-06-10 18:11:11 +00:00
|
|
|
#include "mozilla/ModuleUtils.h"
|
2006-05-19 09:31:57 +00:00
|
|
|
#include "nsLayoutStatics.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsContentCID.h"
|
|
|
|
#include "nsContentDLF.h"
|
|
|
|
#include "nsContentPolicyUtils.h"
|
2005-04-11 00:29:36 +00:00
|
|
|
#include "nsDataDocumentContentPolicy.h"
|
2006-06-26 17:57:44 +00:00
|
|
|
#include "nsNoDataProtocolContentPolicy.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsDOMCID.h"
|
|
|
|
#include "nsHTMLContentSerializer.h"
|
2004-07-16 06:32:16 +00:00
|
|
|
#include "nsHTMLParts.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsGenericHTMLElement.h"
|
|
|
|
#include "nsIComponentManager.h"
|
|
|
|
#include "nsIContentIterator.h"
|
|
|
|
#include "nsIContentSerializer.h"
|
|
|
|
#include "nsIController.h"
|
|
|
|
#include "nsIControllers.h"
|
|
|
|
#include "nsIDOMDOMImplementation.h"
|
|
|
|
#include "nsIDOMEventGroup.h"
|
|
|
|
#include "nsIDOMRange.h"
|
|
|
|
#include "nsIDocument.h"
|
|
|
|
#include "nsIDocumentEncoder.h"
|
|
|
|
#include "nsIDocumentViewer.h"
|
|
|
|
#include "nsIEventListenerManager.h"
|
|
|
|
#include "nsIFactory.h"
|
2006-04-26 02:01:07 +00:00
|
|
|
#include "nsFrameSelection.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsIFrameUtil.h"
|
2004-09-30 22:27:45 +00:00
|
|
|
#include "nsIFragmentContentSink.h"
|
2004-04-12 21:56:09 +00:00
|
|
|
#include "nsHTMLStyleSheet.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsIHTMLToTextSink.h"
|
|
|
|
#include "nsILayoutDebugger.h"
|
|
|
|
#include "nsINameSpaceManager.h"
|
|
|
|
#include "nsINodeInfo.h"
|
|
|
|
#include "nsIObserver.h"
|
|
|
|
#include "nsIObserverService.h"
|
|
|
|
#include "nsIPresShell.h"
|
|
|
|
#include "nsIRangeUtils.h"
|
|
|
|
#include "nsIScriptNameSpaceManager.h"
|
|
|
|
#include "nsISelection.h"
|
|
|
|
#include "nsIXBLService.h"
|
2008-07-16 10:52:01 +00:00
|
|
|
#include "nsCaret.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsPlainTextSerializer.h"
|
|
|
|
#include "mozSanitizingSerializer.h"
|
|
|
|
#include "nsXMLContentSerializer.h"
|
2009-04-25 09:00:14 +00:00
|
|
|
#include "nsXHTMLContentSerializer.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsRuleNode.h"
|
|
|
|
#include "nsWyciwygProtocolHandler.h"
|
|
|
|
#include "nsContentAreaDragDrop.h"
|
|
|
|
#include "nsContentList.h"
|
2006-06-15 20:30:44 +00:00
|
|
|
#include "nsSyncLoadService.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
#include "nsBox.h"
|
|
|
|
#include "nsIFrameTraversal.h"
|
2003-03-15 01:04:32 +00:00
|
|
|
#include "nsLayoutCID.h"
|
2004-07-20 06:11:27 +00:00
|
|
|
#include "nsILanguageAtomService.h"
|
2005-01-15 00:10:19 +00:00
|
|
|
#include "nsStyleSheetService.h"
|
2007-11-28 20:18:11 +00:00
|
|
|
#include "nsXULPopupManager.h"
|
Bug 178324, refactor focus by moving all focus handling into one place and simplifying it, add many tests, fixes many other bugs too numerous to mention in this small checkin comment, r=josh,smichaud,ere,dbaron,marco,neil,gavin,smaug,sr=smaug (CLOSED TREE)
2009-06-10 18:00:39 +00:00
|
|
|
#include "nsFocusManager.h"
|
2010-04-27 22:39:52 +00:00
|
|
|
#include "nsIContentUtils.h"
|
Bug 560095 - Use mozilla::services::GetObserverService(). r=biesi,dveditz,gavin,josh,jst,mrbkap,roc,sdwilsh,shaver,sicking,smontagu,surkov
2010-04-29 16:59:13 +00:00
|
|
|
#include "mozilla/Services.h"
|
2003-03-15 01:04:32 +00:00
|
|
|
|
2009-10-16 08:57:32 +00:00
|
|
|
#include "nsIEventListenerService.h"
|
2010-06-10 09:26:19 +00:00
|
|
|
#include "nsIFrameMessageManager.h"
|
|
|
|
|
2005-11-02 19:03:06 +00:00
|
|
|
// Transformiix stuff
|
|
|
|
#include "nsXPathEvaluator.h"
|
|
|
|
#include "txMozillaXSLTProcessor.h"
|
2006-07-13 14:21:53 +00:00
|
|
|
#include "txNodeSetAdaptor.h"
|
2005-11-02 19:03:06 +00:00
|
|
|
#include "nsXPath1Scheme.h"
|
|
|
|
|
2006-04-26 09:19:48 +00:00
|
|
|
#include "nsDOMParser.h"
|
|
|
|
#include "nsDOMSerializer.h"
|
|
|
|
#include "nsXMLHttpRequest.h"
|
2010-04-10 20:08:21 +00:00
|
|
|
#include "nsChannelPolicy.h"
|
2010-06-17 18:34:24 +00:00
|
|
|
#include "nsWebSocket.h"
|
2006-04-26 09:19:48 +00:00
|
|
|
|
2003-03-15 01:04:32 +00:00
|
|
|
// view stuff
|
|
|
|
#include "nsViewsCID.h"
|
|
|
|
#include "nsViewManager.h"
|
2004-06-25 12:26:02 +00:00
|
|
|
#include "nsContentCreatorFunctions.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2004-02-24 03:22:35 +00:00
|
|
|
// DOM includes
|
|
|
|
#include "nsDOMException.h"
|
2009-11-09 20:05:16 +00:00
|
|
|
#include "nsDOMFileReader.h"
|
2010-02-25 05:58:18 +00:00
|
|
|
#include "nsFormData.h"
|
2010-03-03 07:51:09 +00:00
|
|
|
#include "nsFileDataProtocolHandler.h"
|
2004-02-24 03:22:35 +00:00
|
|
|
#include "nsGlobalWindowCommands.h"
|
|
|
|
#include "nsIControllerCommandTable.h"
|
|
|
|
#include "nsJSProtocolHandler.h"
|
|
|
|
#include "nsScriptNameSpaceManager.h"
|
|
|
|
#include "nsIControllerContext.h"
|
|
|
|
#include "nsDOMScriptObjectFactory.h"
|
2006-05-19 05:57:36 +00:00
|
|
|
#include "nsDOMStorage.h"
|
2007-12-27 21:34:03 +00:00
|
|
|
#include "nsJSON.h"
|
2004-02-24 03:22:35 +00:00
|
|
|
|
2007-02-24 20:07:06 +00:00
|
|
|
// Editor stuff
|
|
|
|
#include "nsEditorCID.h"
|
|
|
|
#include "nsEditor.h"
|
|
|
|
#include "nsPlaintextEditor.h"
|
|
|
|
#include "nsEditorController.h" //CID
|
|
|
|
#include "nsIController.h"
|
|
|
|
#include "nsIControllerContext.h"
|
|
|
|
#include "nsIControllerCommandTable.h"
|
|
|
|
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
#include "nsHTMLEditor.h"
|
|
|
|
#include "nsTextServicesDocument.h"
|
|
|
|
#include "nsTextServicesCID.h"
|
|
|
|
#endif
|
|
|
|
|
2010-04-11 13:55:24 +00:00
|
|
|
#include "nsScriptSecurityManager.h"
|
|
|
|
#include "nsPrincipal.h"
|
|
|
|
#include "nsSystemPrincipal.h"
|
|
|
|
#include "nsNullPrincipal.h"
|
|
|
|
#include "nsNetCID.h"
|
2010-07-23 09:49:57 +00:00
|
|
|
#include "nsINodeInfo.h"
|
2010-04-11 13:55:24 +00:00
|
|
|
|
2007-02-24 20:07:06 +00:00
|
|
|
#define NS_EDITORCOMMANDTABLE_CID \
|
|
|
|
{ 0x4f5e62b8, 0xd659, 0x4156, { 0x84, 0xfc, 0x2f, 0x60, 0x99, 0x40, 0x03, 0x69 }}
|
|
|
|
|
|
|
|
static NS_DEFINE_CID(kEditorCommandTableCID, NS_EDITORCOMMANDTABLE_CID);
|
|
|
|
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPlaintextEditor)
|
|
|
|
|
|
|
|
// Constructor of a controller which is set up to use, internally, a
|
|
|
|
// singleton command-table pre-filled with editor commands.
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2007-02-24 20:07:06 +00:00
|
|
|
nsEditorControllerConstructor(nsISupports *aOuter, REFNSIID aIID,
|
|
|
|
void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsIController> controller = do_CreateInstance("@mozilla.org/embedcomp/base-command-controller;1", &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
nsCOMPtr<nsIControllerCommandTable> editorCommandTable = do_GetService(kEditorCommandTableCID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
// this guy is a singleton, so make it immutable
|
|
|
|
editorCommandTable->MakeImmutable();
|
|
|
|
|
|
|
|
nsCOMPtr<nsIControllerContext> controllerContext = do_QueryInterface(controller, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
rv = controllerContext->Init(editorCommandTable);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
return controller->QueryInterface(aIID, aResult);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Constructor for a command-table pref-filled with editor commands
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2007-02-24 20:07:06 +00:00
|
|
|
nsEditorCommandTableConstructor(nsISupports *aOuter, REFNSIID aIID,
|
|
|
|
void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsIControllerCommandTable> commandTable =
|
|
|
|
do_CreateInstance(NS_CONTROLLERCOMMANDTABLE_CONTRACTID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
rv = nsEditorController::RegisterEditorCommands(commandTable);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
// we don't know here whether we're being created as an instance,
|
|
|
|
// or a service, so we can't become immutable
|
|
|
|
|
|
|
|
return commandTable->QueryInterface(aIID, aResult);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextServicesDocument)
|
|
|
|
#ifdef ENABLE_EDITOR_API_LOG
|
|
|
|
#include "nsHTMLEditorLog.h"
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLEditorLog)
|
|
|
|
#else
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLEditor)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2005-04-18 06:33:23 +00:00
|
|
|
#include "nsHTMLCanvasFrame.h"
|
|
|
|
|
|
|
|
#include "nsIDOMCanvasRenderingContext2D.h"
|
2009-09-03 00:47:49 +00:00
|
|
|
#include "nsICanvasRenderingContextWebGL.h"
|
2005-04-18 06:33:23 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
class nsIDocumentLoaderFactory;
|
|
|
|
|
|
|
|
#define PRODUCT_NAME "Gecko"
|
|
|
|
|
|
|
|
#define NS_HTMLIMGELEMENT_CONTRACTID \
|
|
|
|
"@mozilla.org/content/element/html;1?name=img"
|
2001-08-07 02:55:54 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
#define NS_HTMLOPTIONELEMENT_CONTRACTID \
|
|
|
|
"@mozilla.org/content/element/html;1?name=option"
|
|
|
|
|
2009-05-19 05:18:41 +00:00
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
#define NS_HTMLAUDIOELEMENT_CONTRACTID \
|
|
|
|
"@mozilla.org/content/element/html;1?name=audio"
|
|
|
|
#endif
|
|
|
|
|
2003-03-22 03:20:23 +00:00
|
|
|
/* 0ddf4df8-4dbb-4133-8b79-9afb966514f5 */
|
|
|
|
#define NS_PLUGINDOCLOADERFACTORY_CID \
|
|
|
|
{ 0x0ddf4df8, 0x4dbb, 0x4133, { 0x8b, 0x79, 0x9a, 0xfb, 0x96, 0x65, 0x14, 0xf5 } }
|
|
|
|
|
2004-02-24 03:22:35 +00:00
|
|
|
#define NS_WINDOWCOMMANDTABLE_CID \
|
|
|
|
{ /* 0DE2FBFA-6B7F-11D7-BBBA-0003938A9D96 */ \
|
|
|
|
0x0DE2FBFA, 0x6B7F, 0x11D7, {0xBB, 0xBA, 0x00, 0x03, 0x93, 0x8A, 0x9D, 0x96} }
|
|
|
|
|
|
|
|
static NS_DEFINE_CID(kWindowCommandTableCID, NS_WINDOWCOMMANDTABLE_CID);
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2006-05-19 09:31:57 +00:00
|
|
|
#include "nsIBoxObject.h"
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2006-05-26 15:03:05 +00:00
|
|
|
#ifndef MOZ_NO_INSPECTOR_APIS
|
2007-07-18 05:41:40 +00:00
|
|
|
#ifdef MOZ_XUL
|
2006-05-19 18:59:39 +00:00
|
|
|
#include "inDOMView.h"
|
2007-07-18 05:41:40 +00:00
|
|
|
#endif /* MOZ_XUL */
|
|
|
|
|
2006-05-19 18:59:39 +00:00
|
|
|
#include "inDeepTreeWalker.h"
|
|
|
|
#include "inFlasher.h"
|
|
|
|
#include "inCSSValueSearch.h"
|
|
|
|
#include "inDOMUtils.h"
|
2007-07-18 05:41:40 +00:00
|
|
|
#endif /* MOZ_NO_INSPECTOR_APIS */
|
|
|
|
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
#include "nsIXULDocument.h"
|
|
|
|
#include "nsIXULPrototypeCache.h"
|
|
|
|
#include "nsIXULSortService.h"
|
2006-05-19 18:59:39 +00:00
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
nsresult
|
2003-01-14 07:08:59 +00:00
|
|
|
NS_NewXULContentBuilder(nsISupports* aOuter, REFNSIID aIID, void** aResult);
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
nsresult
|
2003-01-14 07:08:59 +00:00
|
|
|
NS_NewXULTreeBuilder(nsISupports* aOuter, REFNSIID aIID, void** aResult);
|
1999-09-28 00:44:47 +00:00
|
|
|
#endif
|
2001-08-07 02:55:54 +00:00
|
|
|
|
2010-07-29 19:23:13 +00:00
|
|
|
nsresult
|
|
|
|
NS_NewDOMImplementation(nsIDOMDOMImplementation**);
|
|
|
|
|
2004-04-29 23:17:54 +00:00
|
|
|
static void Shutdown();
|
2003-10-30 02:53:08 +00:00
|
|
|
|
2004-10-07 20:59:53 +00:00
|
|
|
#ifdef MOZ_XTF
|
|
|
|
#include "nsIXTFService.h"
|
|
|
|
#include "nsIXMLContentBuilder.h"
|
|
|
|
#endif
|
|
|
|
|
2008-07-15 23:37:48 +00:00
|
|
|
#include "nsGeolocation.h"
|
2010-06-25 12:25:31 +00:00
|
|
|
#if defined(XP_UNIX) || \
|
|
|
|
defined(_WINDOWS) || \
|
|
|
|
defined(machintosh) || \
|
|
|
|
defined(android)
|
|
|
|
#include "nsAccelerometerSystem.h"
|
|
|
|
#endif
|
2010-01-22 21:38:21 +00:00
|
|
|
#include "nsCSPService.h"
|
2008-07-15 23:37:48 +00:00
|
|
|
|
2005-11-02 19:03:06 +00:00
|
|
|
// Transformiix
|
|
|
|
/* {0C351177-0159-4500-86B0-A219DFDE4258} */
|
|
|
|
#define TRANSFORMIIX_XPATH1_SCHEME_CID \
|
|
|
|
{ 0xc351177, 0x159, 0x4500, { 0x86, 0xb0, 0xa2, 0x19, 0xdf, 0xde, 0x42, 0x58 } }
|
|
|
|
|
2006-07-13 14:21:53 +00:00
|
|
|
/* 5d5d92cd-6bf8-11d9-bf4a-000a95dc234c */
|
|
|
|
#define TRANSFORMIIX_NODESET_CID \
|
|
|
|
{ 0x5d5d92cd, 0x6bf8, 0x11d9, { 0xbf, 0x4a, 0x0, 0x0a, 0x95, 0xdc, 0x23, 0x4c } }
|
|
|
|
|
|
|
|
#define TRANSFORMIIX_NODESET_CONTRACTID \
|
|
|
|
"@mozilla.org/transformiix-nodeset;1"
|
|
|
|
|
2005-11-02 19:03:06 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsXPath1SchemeProcessor)
|
|
|
|
|
|
|
|
// Factory Constructor
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(txMozillaXSLTProcessor)
|
2005-11-18 13:39:43 +00:00
|
|
|
NS_GENERIC_AGGREGATED_CONSTRUCTOR_INIT(nsXPathEvaluator, Init)
|
2006-07-13 14:21:53 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(txNodeSetAdaptor, Init)
|
2006-04-26 09:19:48 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDOMSerializer)
|
2007-12-12 08:33:32 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsXMLHttpRequest, Init)
|
2010-06-17 18:34:24 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebSocket)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWSProtocolHandler)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWSSProtocolHandler)
|
2009-11-09 20:05:16 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDOMFileReader, Init)
|
2010-02-25 05:58:18 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFormData)
|
2010-03-03 07:51:09 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFileDataProtocolHandler)
|
2006-04-26 09:19:48 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDOMParser)
|
2007-10-04 06:05:32 +00:00
|
|
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsDOMStorageManager,
|
|
|
|
nsDOMStorageManager::GetInstance)
|
2010-04-10 20:08:21 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsChannelPolicy)
|
2010-06-25 12:25:31 +00:00
|
|
|
#if defined(XP_UNIX) || \
|
|
|
|
defined(_WINDOWS) || \
|
|
|
|
defined(machintosh) || \
|
|
|
|
defined(android)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAccelerometerSystem)
|
|
|
|
#endif
|
2005-11-02 19:03:06 +00:00
|
|
|
|
2004-04-29 23:17:54 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// Per bug 209804, it is necessary to observe the "xpcom-shutdown" event and
|
|
|
|
// perform shutdown of the layout modules at that time instead of waiting for
|
|
|
|
// our module destructor to run. If we do not do this, then we risk holding
|
|
|
|
// references to objects in other component libraries that have already been
|
|
|
|
// shutdown (and possibly unloaded if 60709 is ever fixed).
|
|
|
|
|
|
|
|
class LayoutShutdownObserver : public nsIObserver
|
2003-01-14 07:08:59 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
NS_DECL_NSIOBSERVER
|
|
|
|
};
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2004-04-29 23:17:54 +00:00
|
|
|
NS_IMPL_ISUPPORTS1(LayoutShutdownObserver, nsIObserver)
|
2003-01-14 07:08:59 +00:00
|
|
|
|
|
|
|
NS_IMETHODIMP
|
2004-04-29 23:17:54 +00:00
|
|
|
LayoutShutdownObserver::Observe(nsISupports *aSubject,
|
|
|
|
const char *aTopic,
|
|
|
|
const PRUnichar *someData)
|
2003-01-14 07:08:59 +00:00
|
|
|
{
|
2004-04-29 23:17:54 +00:00
|
|
|
if (!strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID))
|
|
|
|
Shutdown();
|
2003-01-14 07:08:59 +00:00
|
|
|
return NS_OK;
|
|
|
|
}
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2004-04-29 23:17:54 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
static PRBool gInitialized = PR_FALSE;
|
2000-03-21 10:34:56 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
// Perform our one-time intialization for this module
|
2003-10-30 02:53:08 +00:00
|
|
|
|
|
|
|
// static
|
2008-10-10 15:04:34 +00:00
|
|
|
nsresult
|
2010-06-10 18:11:11 +00:00
|
|
|
Initialize()
|
2001-08-07 02:55:54 +00:00
|
|
|
{
|
2003-10-30 02:53:08 +00:00
|
|
|
if (gInitialized) {
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_ERROR("Recursive layout module initialization");
|
|
|
|
return NS_ERROR_FAILURE;
|
2003-10-30 02:53:08 +00:00
|
|
|
}
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2006-02-07 14:34:10 +00:00
|
|
|
NS_ASSERTION(sizeof(PtrBits) == sizeof(void *),
|
|
|
|
"Eeek! You'll need to adjust the size of PtrBits to the size "
|
|
|
|
"of a pointer on your platform.");
|
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
gInitialized = PR_TRUE;
|
2004-06-09 18:36:25 +00:00
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
nsresult rv;
|
|
|
|
rv = xpcModuleCtor();
|
|
|
|
if (NS_FAILED(rv))
|
|
|
|
return rv;
|
|
|
|
|
|
|
|
rv = nsLayoutStatics::Initialize();
|
2003-10-30 02:53:08 +00:00
|
|
|
if (NS_FAILED(rv)) {
|
2004-04-29 23:17:54 +00:00
|
|
|
Shutdown();
|
2003-10-30 02:53:08 +00:00
|
|
|
return rv;
|
|
|
|
}
|
2005-11-02 19:03:06 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
// Add our shutdown observer.
|
|
|
|
nsCOMPtr<nsIObserverService> observerService =
|
Bug 560095 - Use mozilla::services::GetObserverService(). r=biesi,dveditz,gavin,josh,jst,mrbkap,roc,sdwilsh,shaver,sicking,smontagu,surkov
2010-04-29 16:59:13 +00:00
|
|
|
mozilla::services::GetObserverService();
|
2003-01-14 07:08:59 +00:00
|
|
|
|
|
|
|
if (observerService) {
|
2005-11-18 13:39:43 +00:00
|
|
|
LayoutShutdownObserver* observer = new LayoutShutdownObserver();
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2003-10-30 02:53:08 +00:00
|
|
|
if (!observer) {
|
2004-04-29 23:17:54 +00:00
|
|
|
Shutdown();
|
2003-10-30 02:53:08 +00:00
|
|
|
|
|
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
}
|
|
|
|
|
|
|
|
observerService->AddObserver(observer, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_FALSE);
|
|
|
|
} else {
|
|
|
|
NS_WARNING("Could not get an observer service. We will leak on shutdown.");
|
2003-01-14 07:08:59 +00:00
|
|
|
}
|
2001-08-23 20:07:10 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
return NS_OK;
|
1999-09-28 00:44:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Shutdown this module, releasing all of the module resources
|
2003-10-30 02:53:08 +00:00
|
|
|
|
|
|
|
// static
|
2004-04-29 23:17:54 +00:00
|
|
|
void
|
|
|
|
Shutdown()
|
1999-09-28 00:44:47 +00:00
|
|
|
{
|
2001-08-07 02:55:54 +00:00
|
|
|
NS_PRECONDITION(gInitialized, "module not initialized");
|
2003-10-30 02:53:08 +00:00
|
|
|
if (!gInitialized)
|
2000-02-16 07:42:00 +00:00
|
|
|
return;
|
2001-08-07 02:55:54 +00:00
|
|
|
|
|
|
|
gInitialized = PR_FALSE;
|
2000-11-08 03:22:03 +00:00
|
|
|
|
2006-05-19 09:31:57 +00:00
|
|
|
nsLayoutStatics::Release();
|
1999-09-28 00:44:47 +00:00
|
|
|
}
|
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
#ifdef NS_DEBUG
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_NewFrameUtil(nsIFrameUtil** aResult);
|
|
|
|
nsresult NS_NewLayoutDebugger(nsILayoutDebugger** aResult);
|
2001-08-07 02:55:54 +00:00
|
|
|
#endif
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_NewBoxObject(nsIBoxObject** aResult);
|
2008-01-16 01:27:53 +00:00
|
|
|
|
|
|
|
#ifdef MOZ_XUL
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_NewListBoxObject(nsIBoxObject** aResult);
|
|
|
|
nsresult NS_NewScrollBoxObject(nsIBoxObject** aResult);
|
|
|
|
nsresult NS_NewMenuBoxObject(nsIBoxObject** aResult);
|
|
|
|
nsresult NS_NewPopupBoxObject(nsIBoxObject** aResult);
|
2006-07-13 09:02:05 +00:00
|
|
|
nsresult NS_NewContainerBoxObject(nsIBoxObject** aResult);
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_NewTreeBoxObject(nsIBoxObject** aResult);
|
2005-04-18 06:33:23 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
nsresult NS_NewCanvasRenderingContext2D(nsIDOMCanvasRenderingContext2D** aResult);
|
2009-09-03 00:47:49 +00:00
|
|
|
nsresult NS_NewCanvasRenderingContextWebGL(nsICanvasRenderingContextWebGL** aResult);
|
2003-04-11 00:56:27 +00:00
|
|
|
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_CreateFrameTraversal(nsIFrameTraversal** aResult);
|
2006-03-16 21:42:50 +00:00
|
|
|
|
2006-04-26 02:01:07 +00:00
|
|
|
nsresult NS_NewSelection(nsFrameSelection** aResult);
|
2003-03-05 15:08:41 +00:00
|
|
|
nsresult NS_NewDomSelection(nsISelection** aResult);
|
|
|
|
nsresult NS_NewDocumentViewer(nsIDocumentViewer** aResult);
|
|
|
|
nsresult NS_NewRange(nsIDOMRange** aResult);
|
|
|
|
nsresult NS_NewRangeUtils(nsIRangeUtils** aResult);
|
|
|
|
nsresult NS_NewContentIterator(nsIContentIterator** aResult);
|
|
|
|
nsresult NS_NewPreContentIterator(nsIContentIterator** aResult);
|
|
|
|
nsresult NS_NewGenRegularIterator(nsIContentIterator** aResult);
|
|
|
|
nsresult NS_NewContentSubtreeIterator(nsIContentIterator** aResult);
|
|
|
|
nsresult NS_NewGenSubtreeIterator(nsIContentIterator** aInstancePtrResult);
|
|
|
|
nsresult NS_NewContentDocumentLoaderFactory(nsIDocumentLoaderFactory** aResult);
|
|
|
|
nsresult NS_NewHTMLCopyTextEncoder(nsIDocumentEncoder** aResult);
|
|
|
|
nsresult NS_NewTextEncoder(nsIDocumentEncoder** aResult);
|
|
|
|
nsresult NS_NewXBLService(nsIXBLService** aResult);
|
|
|
|
nsresult NS_NewContentPolicy(nsIContentPolicy** aResult);
|
|
|
|
nsresult NS_NewDOMEventGroup(nsIDOMEventGroup** aResult);
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2009-10-16 08:57:32 +00:00
|
|
|
nsresult NS_NewEventListenerService(nsIEventListenerService** aResult);
|
2010-06-10 09:26:19 +00:00
|
|
|
nsresult NS_NewGlobalMessageManager(nsIChromeFrameMessageManager** aResult);
|
2009-10-16 08:57:32 +00:00
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
nsresult NS_NewXULControllers(nsISupports* aOuter, REFNSIID aIID, void** aResult);
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
#define MAKE_CTOR(ctor_, iface_, func_) \
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult \
|
2001-08-07 02:55:54 +00:00
|
|
|
ctor_(nsISupports* aOuter, REFNSIID aIID, void** aResult) \
|
|
|
|
{ \
|
|
|
|
*aResult = nsnull; \
|
|
|
|
if (aOuter) \
|
|
|
|
return NS_ERROR_NO_AGGREGATION; \
|
|
|
|
iface_* inst; \
|
|
|
|
nsresult rv = func_(&inst); \
|
|
|
|
if (NS_SUCCEEDED(rv)) { \
|
|
|
|
rv = inst->QueryInterface(aIID, aResult); \
|
|
|
|
NS_RELEASE(inst); \
|
|
|
|
} \
|
|
|
|
return rv; \
|
1999-09-28 00:44:47 +00:00
|
|
|
}
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
#ifdef DEBUG
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateNewFrameUtil, nsIFrameUtil, NS_NewFrameUtil)
|
|
|
|
MAKE_CTOR(CreateNewLayoutDebugger, nsILayoutDebugger, NS_NewLayoutDebugger)
|
2001-08-07 02:55:54 +00:00
|
|
|
#endif
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2001-08-07 02:55:54 +00:00
|
|
|
MAKE_CTOR(CreateNewFrameTraversal, nsIFrameTraversal, NS_CreateFrameTraversal)
|
|
|
|
MAKE_CTOR(CreateNewPresShell, nsIPresShell, NS_NewPresShell)
|
|
|
|
MAKE_CTOR(CreateNewBoxObject, nsIBoxObject, NS_NewBoxObject)
|
2008-01-16 01:27:53 +00:00
|
|
|
|
|
|
|
#ifdef MOZ_XUL
|
2002-01-24 04:26:28 +00:00
|
|
|
MAKE_CTOR(CreateNewListBoxObject, nsIBoxObject, NS_NewListBoxObject)
|
2001-08-07 02:55:54 +00:00
|
|
|
MAKE_CTOR(CreateNewMenuBoxObject, nsIBoxObject, NS_NewMenuBoxObject)
|
2001-08-18 01:04:47 +00:00
|
|
|
MAKE_CTOR(CreateNewPopupBoxObject, nsIBoxObject, NS_NewPopupBoxObject)
|
2001-08-07 02:55:54 +00:00
|
|
|
MAKE_CTOR(CreateNewScrollBoxObject, nsIBoxObject, NS_NewScrollBoxObject)
|
2002-03-29 02:46:01 +00:00
|
|
|
MAKE_CTOR(CreateNewTreeBoxObject, nsIBoxObject, NS_NewTreeBoxObject)
|
2006-07-13 09:02:05 +00:00
|
|
|
MAKE_CTOR(CreateNewContainerBoxObject, nsIBoxObject, NS_NewContainerBoxObject)
|
2006-05-19 18:59:39 +00:00
|
|
|
#endif // MOZ_XUL
|
|
|
|
|
|
|
|
#ifndef MOZ_NO_INSPECTOR_APIS
|
2007-07-18 05:35:23 +00:00
|
|
|
#ifdef MOZ_XUL
|
2006-05-19 18:59:39 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(inDOMView)
|
2007-07-18 05:35:23 +00:00
|
|
|
#endif
|
2006-05-19 18:59:39 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(inDeepTreeWalker)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(inFlasher)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(inCSSValueSearch)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(inDOMUtils)
|
2003-03-15 01:04:32 +00:00
|
|
|
#endif
|
2006-05-19 18:59:39 +00:00
|
|
|
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateNameSpaceManager, nsINameSpaceManager, NS_GetNameSpaceManager)
|
|
|
|
MAKE_CTOR(CreateEventListenerManager, nsIEventListenerManager, NS_NewEventListenerManager)
|
|
|
|
MAKE_CTOR(CreateDOMEventGroup, nsIDOMEventGroup, NS_NewDOMEventGroup)
|
|
|
|
MAKE_CTOR(CreateDocumentViewer, nsIDocumentViewer, NS_NewDocumentViewer)
|
|
|
|
MAKE_CTOR(CreateHTMLDocument, nsIDocument, NS_NewHTMLDocument)
|
|
|
|
MAKE_CTOR(CreateDOMImplementation, nsIDOMDOMImplementation, NS_NewDOMImplementation)
|
|
|
|
MAKE_CTOR(CreateXMLDocument, nsIDocument, NS_NewXMLDocument)
|
|
|
|
#ifdef MOZ_SVG
|
|
|
|
MAKE_CTOR(CreateSVGDocument, nsIDocument, NS_NewSVGDocument)
|
|
|
|
#endif
|
|
|
|
MAKE_CTOR(CreateImageDocument, nsIDocument, NS_NewImageDocument)
|
|
|
|
MAKE_CTOR(CreateDOMSelection, nsISelection, NS_NewDomSelection)
|
2007-08-24 00:13:43 +00:00
|
|
|
MAKE_CTOR(CreateSelection, nsFrameSelection, NS_NewSelection)
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateRange, nsIDOMRange, NS_NewRange)
|
|
|
|
MAKE_CTOR(CreateRangeUtils, nsIRangeUtils, NS_NewRangeUtils)
|
|
|
|
MAKE_CTOR(CreateContentIterator, nsIContentIterator, NS_NewContentIterator)
|
|
|
|
MAKE_CTOR(CreatePreContentIterator, nsIContentIterator, NS_NewPreContentIterator)
|
|
|
|
MAKE_CTOR(CreateSubtreeIterator, nsIContentIterator, NS_NewContentSubtreeIterator)
|
|
|
|
// CreateHTMLImgElement, see below
|
|
|
|
// CreateHTMLOptionElement, see below
|
2009-05-19 05:18:41 +00:00
|
|
|
// CreateHTMLAudioElement, see below
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateTextEncoder, nsIDocumentEncoder, NS_NewTextEncoder)
|
|
|
|
MAKE_CTOR(CreateHTMLCopyTextEncoder, nsIDocumentEncoder, NS_NewHTMLCopyTextEncoder)
|
|
|
|
MAKE_CTOR(CreateXMLContentSerializer, nsIContentSerializer, NS_NewXMLContentSerializer)
|
|
|
|
MAKE_CTOR(CreateHTMLContentSerializer, nsIContentSerializer, NS_NewHTMLContentSerializer)
|
2009-04-25 09:00:14 +00:00
|
|
|
MAKE_CTOR(CreateXHTMLContentSerializer, nsIContentSerializer, NS_NewXHTMLContentSerializer)
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreatePlainTextSerializer, nsIContentSerializer, NS_NewPlainTextSerializer)
|
2004-09-30 22:27:45 +00:00
|
|
|
MAKE_CTOR(CreateHTMLFragmentSink, nsIFragmentContentSink, NS_NewHTMLFragmentContentSink)
|
|
|
|
MAKE_CTOR(CreateHTMLFragmentSink2, nsIFragmentContentSink, NS_NewHTMLFragmentContentSink2)
|
2006-08-12 04:46:43 +00:00
|
|
|
MAKE_CTOR(CreateHTMLParanoidFragmentSink, nsIFragmentContentSink, NS_NewHTMLParanoidFragmentSink)
|
2010-04-09 21:06:09 +00:00
|
|
|
MAKE_CTOR(CreateHTMLParanoidFragmentSink2,nsIFragmentContentSink, NS_NewHTMLParanoidFragmentSink2)
|
2004-09-30 22:27:45 +00:00
|
|
|
MAKE_CTOR(CreateXMLFragmentSink, nsIFragmentContentSink, NS_NewXMLFragmentContentSink)
|
|
|
|
MAKE_CTOR(CreateXMLFragmentSink2, nsIFragmentContentSink, NS_NewXMLFragmentContentSink2)
|
2006-08-12 04:46:43 +00:00
|
|
|
MAKE_CTOR(CreateXHTMLParanoidFragmentSink,nsIFragmentContentSink, NS_NewXHTMLParanoidFragmentSink)
|
2010-04-09 21:06:09 +00:00
|
|
|
MAKE_CTOR(CreateXHTMLParanoidFragmentSink2,nsIFragmentContentSink, NS_NewXHTMLParanoidFragmentSink2)
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateSanitizingHTMLSerializer, nsIContentSerializer, NS_NewSanitizingHTMLSerializer)
|
|
|
|
MAKE_CTOR(CreateXBLService, nsIXBLService, NS_NewXBLService)
|
|
|
|
MAKE_CTOR(CreateContentPolicy, nsIContentPolicy, NS_NewContentPolicy)
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
MAKE_CTOR(CreateXULSortService, nsIXULSortService, NS_NewXULSortService)
|
|
|
|
// NS_NewXULContentBuilder
|
|
|
|
// NS_NewXULTreeBuilder
|
|
|
|
MAKE_CTOR(CreateXULDocument, nsIXULDocument, NS_NewXULDocument)
|
|
|
|
// NS_NewXULControllers
|
|
|
|
// NS_NewXULPrototypeCache
|
2007-11-28 20:18:11 +00:00
|
|
|
MAKE_CTOR(CreateXULPopupManager, nsISupports, NS_NewXULPopupManager)
|
2003-01-14 07:08:59 +00:00
|
|
|
#endif
|
2004-10-07 20:59:53 +00:00
|
|
|
#ifdef MOZ_XTF
|
|
|
|
MAKE_CTOR(CreateXTFService, nsIXTFService, NS_NewXTFService)
|
|
|
|
MAKE_CTOR(CreateXMLContentBuilder, nsIXMLContentBuilder, NS_NewXMLContentBuilder)
|
|
|
|
#endif
|
2003-01-14 07:08:59 +00:00
|
|
|
MAKE_CTOR(CreateContentDLF, nsIDocumentLoaderFactory, NS_NewContentDocumentLoaderFactory)
|
2009-10-16 08:57:32 +00:00
|
|
|
MAKE_CTOR(CreateEventListenerService, nsIEventListenerService, NS_NewEventListenerService)
|
2010-06-10 09:26:19 +00:00
|
|
|
MAKE_CTOR(CreateGlobalMessageManager, nsIChromeFrameMessageManager,NS_NewGlobalMessageManager)
|
2003-01-14 07:08:59 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWyciwygProtocolHandler)
|
2005-04-11 00:29:36 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDataDocumentContentPolicy)
|
2006-06-26 17:57:44 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoDataProtocolContentPolicy)
|
2006-06-15 20:30:44 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSyncLoadService)
|
2003-03-22 03:20:23 +00:00
|
|
|
MAKE_CTOR(CreatePluginDocument, nsIDocument, NS_NewPluginDocument)
|
2008-10-30 05:20:08 +00:00
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
MAKE_CTOR(CreateVideoDocument, nsIDocument, NS_NewVideoDocument)
|
|
|
|
#endif
|
Bug 178324, refactor focus by moving all focus handling into one place and simplifying it, add many tests, fixes many other bugs too numerous to mention in this small checkin comment, r=josh,smichaud,ere,dbaron,marco,neil,gavin,smaug,sr=smaug (CLOSED TREE)
2009-06-10 18:00:39 +00:00
|
|
|
MAKE_CTOR(CreateFocusManager, nsIFocusManager, NS_NewFocusManager)
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2010-04-27 22:39:52 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIContentUtils)
|
|
|
|
|
2005-04-18 06:33:23 +00:00
|
|
|
MAKE_CTOR(CreateCanvasRenderingContext2D, nsIDOMCanvasRenderingContext2D, NS_NewCanvasRenderingContext2D)
|
2009-09-03 00:47:49 +00:00
|
|
|
MAKE_CTOR(CreateCanvasRenderingContextWebGL, nsICanvasRenderingContextWebGL, NS_NewCanvasRenderingContextWebGL)
|
2005-04-18 06:33:23 +00:00
|
|
|
|
2005-01-15 00:10:19 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStyleSheetService, Init)
|
|
|
|
|
2008-11-18 22:54:36 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsJSURI)
|
|
|
|
|
2003-03-15 01:04:32 +00:00
|
|
|
// views are not refcounted, so this is the same as
|
|
|
|
// NS_GENERIC_FACTORY_CONSTRUCTOR without the NS_ADDREF/NS_RELEASE
|
|
|
|
#define NS_GENERIC_FACTORY_CONSTRUCTOR_NOREFS(_InstanceClass) \
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult \
|
2003-03-15 01:04:32 +00:00
|
|
|
_InstanceClass##Constructor(nsISupports *aOuter, REFNSIID aIID, \
|
|
|
|
void **aResult) \
|
|
|
|
{ \
|
|
|
|
nsresult rv; \
|
|
|
|
\
|
|
|
|
*aResult = NULL; \
|
|
|
|
if (NULL != aOuter) { \
|
|
|
|
rv = NS_ERROR_NO_AGGREGATION; \
|
|
|
|
return rv; \
|
|
|
|
} \
|
|
|
|
\
|
2010-07-05 09:42:18 +00:00
|
|
|
_InstanceClass * inst = new _InstanceClass(); \
|
2003-03-15 01:04:32 +00:00
|
|
|
if (NULL == inst) { \
|
|
|
|
rv = NS_ERROR_OUT_OF_MEMORY; \
|
|
|
|
return rv; \
|
|
|
|
} \
|
|
|
|
rv = inst->QueryInterface(aIID, aResult); \
|
|
|
|
\
|
|
|
|
return rv; \
|
|
|
|
} \
|
|
|
|
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsViewManager)
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2003-01-14 07:08:59 +00:00
|
|
|
CreateHTMLImgElement(nsISupports* aOuter, REFNSIID aIID, void** aResult)
|
|
|
|
{
|
|
|
|
*aResult = nsnull;
|
|
|
|
if (aOuter)
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
// Note! NS_NewHTMLImageElement is special cased to handle a null nodeinfo
|
2010-07-23 09:49:57 +00:00
|
|
|
nsCOMPtr<nsINodeInfo> ni;
|
|
|
|
nsIContent* inst = NS_NewHTMLImageElement(ni.forget());
|
2004-06-06 02:38:32 +00:00
|
|
|
nsresult rv = NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
if (inst) {
|
|
|
|
NS_ADDREF(inst);
|
2003-01-14 07:08:59 +00:00
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
NS_RELEASE(inst);
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2003-01-14 07:08:59 +00:00
|
|
|
CreateHTMLOptionElement(nsISupports* aOuter, REFNSIID aIID, void** aResult)
|
|
|
|
{
|
|
|
|
*aResult = nsnull;
|
|
|
|
if (aOuter)
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
// Note! NS_NewHTMLOptionElement is special cased to handle a null nodeinfo
|
2010-07-23 09:49:57 +00:00
|
|
|
nsCOMPtr<nsINodeInfo> ni;
|
|
|
|
nsIContent* inst = NS_NewHTMLOptionElement(ni.forget());
|
2004-06-06 02:38:32 +00:00
|
|
|
nsresult rv = NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
if (inst) {
|
|
|
|
NS_ADDREF(inst);
|
2003-01-14 07:08:59 +00:00
|
|
|
rv = inst->QueryInterface(aIID, aResult);
|
|
|
|
NS_RELEASE(inst);
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
2009-05-19 05:18:41 +00:00
|
|
|
#ifdef MOZ_MEDIA
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2009-05-19 05:18:41 +00:00
|
|
|
CreateHTMLAudioElement(nsISupports* aOuter, REFNSIID aIID, void** aResult)
|
|
|
|
{
|
|
|
|
*aResult = nsnull;
|
|
|
|
if (aOuter)
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
// Note! NS_NewHTMLAudioElement is special cased to handle a null nodeinfo
|
2010-07-23 09:49:57 +00:00
|
|
|
nsCOMPtr<nsINodeInfo> ni;
|
|
|
|
nsCOMPtr<nsIContent> inst(NS_NewHTMLAudioElement(ni.forget()));
|
2009-05-19 05:18:41 +00:00
|
|
|
return inst ? inst->QueryInterface(aIID, aResult) : NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2004-02-24 03:22:35 +00:00
|
|
|
CreateWindowCommandTableConstructor(nsISupports *aOuter,
|
|
|
|
REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsIControllerCommandTable> commandTable =
|
|
|
|
do_CreateInstance(NS_CONTROLLERCOMMANDTABLE_CONTRACTID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
rv = nsWindowCommandRegistration::RegisterWindowCommands(commandTable);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
return commandTable->QueryInterface(aIID, aResult);
|
|
|
|
}
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2004-02-24 03:22:35 +00:00
|
|
|
CreateWindowControllerWithSingletonCommandTable(nsISupports *aOuter,
|
|
|
|
REFNSIID aIID, void **aResult)
|
|
|
|
{
|
|
|
|
nsresult rv;
|
|
|
|
nsCOMPtr<nsIController> controller =
|
|
|
|
do_CreateInstance("@mozilla.org/embedcomp/base-command-controller;1", &rv);
|
|
|
|
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
nsCOMPtr<nsIControllerCommandTable> windowCommandTable = do_GetService(kWindowCommandTableCID, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
// this is a singleton; make it immutable
|
|
|
|
windowCommandTable->MakeImmutable();
|
|
|
|
|
|
|
|
nsCOMPtr<nsIControllerContext> controllerContext = do_QueryInterface(controller, &rv);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
controllerContext->Init(windowCommandTable);
|
|
|
|
if (NS_FAILED(rv)) return rv;
|
|
|
|
|
|
|
|
return controller->QueryInterface(aIID, aResult);
|
|
|
|
}
|
|
|
|
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDOMScriptObjectFactory)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBaseDOMException)
|
|
|
|
|
2009-11-12 15:14:45 +00:00
|
|
|
#define NS_GEOLOCATION_CID \
|
|
|
|
{ 0x1E1C3FF, 0x94A, 0xD048, { 0x44, 0xB4, 0x62, 0xD2, 0x9C, 0x7B, 0x4F, 0x39 } }
|
|
|
|
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGeolocation, Init)
|
|
|
|
|
2008-07-15 23:37:48 +00:00
|
|
|
#define NS_GEOLOCATION_SERVICE_CID \
|
|
|
|
{ 0x404d02a, 0x1CA, 0xAAAB, { 0x47, 0x62, 0x94, 0x4b, 0x1b, 0xf2, 0xf7, 0xb5 } }
|
|
|
|
|
2008-08-14 16:35:49 +00:00
|
|
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsGeolocationService, nsGeolocationService::GetGeolocationService)
|
2008-07-15 23:37:48 +00:00
|
|
|
|
2010-01-22 21:38:21 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(CSPService)
|
|
|
|
|
2010-04-11 13:55:24 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrincipal)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSecurityNameSet)
|
|
|
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsSystemPrincipal,
|
|
|
|
nsScriptSecurityManager::SystemPrincipalSingletonConstructor)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNullPrincipal, Init)
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static nsresult
|
2010-04-11 13:55:24 +00:00
|
|
|
Construct_nsIScriptSecurityManager(nsISupports *aOuter, REFNSIID aIID,
|
|
|
|
void **aResult)
|
|
|
|
{
|
|
|
|
if (!aResult)
|
|
|
|
return NS_ERROR_NULL_POINTER;
|
|
|
|
*aResult = nsnull;
|
|
|
|
if (aOuter)
|
|
|
|
return NS_ERROR_NO_AGGREGATION;
|
|
|
|
nsScriptSecurityManager *obj = nsScriptSecurityManager::GetScriptSecurityManager();
|
|
|
|
if (!obj)
|
|
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
|
|
if (NS_FAILED(obj->QueryInterface(aIID, aResult)))
|
|
|
|
return NS_ERROR_FAILURE;
|
|
|
|
return NS_OK;
|
|
|
|
}
|
|
|
|
|
2000-10-28 22:17:53 +00:00
|
|
|
#ifdef DEBUG
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_FRAME_UTIL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_LAYOUT_DEBUGGER_CID);
|
2000-10-28 22:17:53 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_FRAMETRAVERSAL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRESSHELL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_BOXOBJECT_CID);
|
2008-01-16 01:27:53 +00:00
|
|
|
#ifdef MOZ_XUL
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_LISTBOXOBJECT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_MENUBOXOBJECT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_POPUPBOXOBJECT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CONTAINERBOXOBJECT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SCROLLBOXOBJECT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TREEBOXOBJECT_CID);
|
2006-05-19 18:59:39 +00:00
|
|
|
#endif // MOZ_XUL
|
|
|
|
#ifndef MOZ_NO_INSPECTOR_APIS
|
2007-07-18 05:35:23 +00:00
|
|
|
#ifdef MOZ_XUL
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(IN_DOMVIEW_CID);
|
2007-07-18 05:35:23 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(IN_DEEPTREEWALKER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(IN_FLASHER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(IN_CSSVALUESEARCH_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(IN_DOMUTILS_CID);
|
2006-05-19 18:59:39 +00:00
|
|
|
#endif // MOZ_NO_INSPECTOR_APIS
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_NAMESPACEMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_EVENTLISTENERMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMEVENTGROUP_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOCUMENT_VIEWER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLDOCUMENT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOM_IMPLEMENTATION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLDOCUMENT_CID);
|
2003-01-14 07:08:59 +00:00
|
|
|
#ifdef MOZ_SVG
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_SVGDOCUMENT_CID);
|
2003-01-14 07:08:59 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_IMAGEDOCUMENT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMSELECTION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FRAMESELECTION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_RANGE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_RANGEUTILS_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CONTENTITERATOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRECONTENTITERATOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SUBTREEITERATOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLIMAGEELEMENT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLOPTIONELEMENT_CID);
|
2009-05-19 05:18:41 +00:00
|
|
|
#ifdef MOZ_MEDIA
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLAUDIOELEMENT_CID);
|
2009-05-19 05:18:41 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_CANVASRENDERINGCONTEXT2D_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CANVASRENDERINGCONTEXTWEBGL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TEXT_ENCODER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLCOPY_TEXT_ENCODER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLCONTENTSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XHTMLCONTENTSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLCONTENTSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PLAINTEXTSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLFRAGMENTSINK_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLFRAGMENTSINK2_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLPARANOIDFRAGMENTSINK_CID);
|
2010-06-22 16:59:57 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLPARANOIDFRAGMENTSINK2_CID);
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(MOZ_SANITIZINGHTMLSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLFRAGMENTSINK_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLFRAGMENTSINK2_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XHTMLPARANOIDFRAGMENTSINK_CID);
|
2010-06-22 16:59:57 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_XHTMLPARANOIDFRAGMENTSINK2_CID);
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_XBLSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CONTENTPOLICY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DATADOCUMENTCONTENTPOLICY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_NODATAPROTOCOLCONTENTPOLICY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULCONTROLLERS_CID);
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULSORTSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULTEMPLATEBUILDER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULTREEBUILDER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULPOPUPMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULDOCUMENT_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XULPROTOTYPECACHE_CID);
|
2003-01-14 07:08:59 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
#ifdef MOZ_XTF
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XTFSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLCONTENTBUILDER_CID);
|
|
|
|
#endif
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CONTENT_DOCUMENT_LOADER_FACTORY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WYCIWYGPROTOCOLHANDLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SYNCLOADDOMSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOM_SCRIPT_OBJECT_FACTORY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_BASE_DOM_EXCEPTION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_JSPROTOCOLHANDLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_JSURI_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WINDOWCOMMANDTABLE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WINDOWCONTROLLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_VIEW_MANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PLUGINDOCLOADERFACTORY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PLUGINDOCUMENT_CID);
|
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
NS_DEFINE_NAMED_CID(NS_VIDEODOCUMENT_CID);
|
|
|
|
#endif
|
|
|
|
NS_DEFINE_NAMED_CID(NS_STYLESHEETSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(TRANSFORMIIX_XSLT_PROCESSOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(TRANSFORMIIX_XPATH_EVALUATOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(TRANSFORMIIX_XPATH1_SCHEME_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(TRANSFORMIIX_NODESET_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLSERIALIZER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FILEREADER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FORMDATA_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FILEDATAPROTOCOLHANDLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_XMLHTTPREQUEST_CID);
|
2010-06-21 15:41:42 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_WEBSOCKET_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WSPROTOCOLHANDLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WSSPROTOCOLHANDLER_CID);
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMPARSER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMSTORAGE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMSTORAGE2_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMSTORAGEMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DOMJSON_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TEXTEDITOR_CID);
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
#ifdef ENABLE_EDITOR_API_LOG
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLEDITOR_CID);
|
|
|
|
#else
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLEDITOR_CID);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
NS_DEFINE_NAMED_CID(NS_EDITORCONTROLLER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_EDITORCOMMANDTABLE_CID);
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TEXTSERVICESDOCUMENT_CID);
|
|
|
|
#endif
|
|
|
|
NS_DEFINE_NAMED_CID(NS_GEOLOCATION_SERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_GEOLOCATION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FOCUSMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_ICONTENTUTILS_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(CSPSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_EVENTLISTENERSERVICE_CID);
|
2010-06-22 16:59:57 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_GLOBALMESSAGEMANAGER_CID);
|
2010-06-10 18:11:11 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NSCHANNELPOLICY_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SCRIPTSECURITYMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRINCIPAL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SYSTEMPRINCIPAL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_NULLPRINCIPAL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SECURITYNAMESET_CID);
|
|
|
|
|
2010-06-25 23:41:09 +00:00
|
|
|
#if defined(XP_UNIX) || \
|
|
|
|
defined(_WINDOWS) || \
|
|
|
|
defined(machintosh) || \
|
|
|
|
defined(android)
|
|
|
|
NS_DEFINE_NAMED_CID(NS_ACCELEROMETER_CID);
|
|
|
|
#endif
|
2003-01-14 07:08:59 +00:00
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static const mozilla::Module::CIDEntry kLayoutCIDs[] = {
|
|
|
|
XPCONNECT_CIDENTRIES
|
|
|
|
#ifdef DEBUG
|
|
|
|
{ &kNS_FRAME_UTIL_CID, false, NULL, CreateNewFrameUtil },
|
|
|
|
{ &kNS_LAYOUT_DEBUGGER_CID, false, NULL, CreateNewLayoutDebugger },
|
|
|
|
#endif
|
|
|
|
{ &kNS_FRAMETRAVERSAL_CID, false, NULL, CreateNewFrameTraversal },
|
|
|
|
{ &kNS_PRESSHELL_CID, false, NULL, CreateNewPresShell },
|
|
|
|
{ &kNS_BOXOBJECT_CID, false, NULL, CreateNewBoxObject },
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
{ &kNS_LISTBOXOBJECT_CID, false, NULL, CreateNewListBoxObject },
|
|
|
|
{ &kNS_MENUBOXOBJECT_CID, false, NULL, CreateNewMenuBoxObject },
|
|
|
|
{ &kNS_POPUPBOXOBJECT_CID, false, NULL, CreateNewPopupBoxObject },
|
|
|
|
{ &kNS_CONTAINERBOXOBJECT_CID, false, NULL, CreateNewContainerBoxObject },
|
|
|
|
{ &kNS_SCROLLBOXOBJECT_CID, false, NULL, CreateNewScrollBoxObject },
|
|
|
|
{ &kNS_TREEBOXOBJECT_CID, false, NULL, CreateNewTreeBoxObject },
|
|
|
|
#endif // MOZ_XUL
|
|
|
|
#ifndef MOZ_NO_INSPECTOR_APIS
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
{ &kIN_DOMVIEW_CID, false, NULL, inDOMViewConstructor },
|
|
|
|
#endif
|
|
|
|
{ &kIN_DEEPTREEWALKER_CID, false, NULL, inDeepTreeWalkerConstructor },
|
|
|
|
{ &kIN_FLASHER_CID, false, NULL, inFlasherConstructor },
|
|
|
|
{ &kIN_CSSVALUESEARCH_CID, false, NULL, inCSSValueSearchConstructor },
|
|
|
|
{ &kIN_DOMUTILS_CID, false, NULL, inDOMUtilsConstructor },
|
|
|
|
#endif // MOZ_NO_INSPECTOR_APIS
|
|
|
|
{ &kNS_NAMESPACEMANAGER_CID, false, NULL, CreateNameSpaceManager },
|
|
|
|
{ &kNS_EVENTLISTENERMANAGER_CID, false, NULL, CreateEventListenerManager },
|
|
|
|
{ &kNS_DOMEVENTGROUP_CID, false, NULL, CreateDOMEventGroup },
|
|
|
|
{ &kNS_DOCUMENT_VIEWER_CID, false, NULL, CreateDocumentViewer },
|
|
|
|
{ &kNS_HTMLDOCUMENT_CID, false, NULL, CreateHTMLDocument },
|
|
|
|
{ &kNS_DOM_IMPLEMENTATION_CID, false, NULL, CreateDOMImplementation },
|
|
|
|
{ &kNS_XMLDOCUMENT_CID, false, NULL, CreateXMLDocument },
|
2003-01-14 07:08:59 +00:00
|
|
|
#ifdef MOZ_SVG
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_SVGDOCUMENT_CID, false, NULL, CreateSVGDocument },
|
2003-01-14 07:08:59 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_IMAGEDOCUMENT_CID, false, NULL, CreateImageDocument },
|
|
|
|
{ &kNS_DOMSELECTION_CID, false, NULL, CreateDOMSelection },
|
|
|
|
{ &kNS_FRAMESELECTION_CID, false, NULL, CreateSelection },
|
|
|
|
{ &kNS_RANGE_CID, false, NULL, CreateRange },
|
|
|
|
{ &kNS_RANGEUTILS_CID, false, NULL, CreateRangeUtils },
|
|
|
|
{ &kNS_CONTENTITERATOR_CID, false, NULL, CreateContentIterator },
|
|
|
|
{ &kNS_PRECONTENTITERATOR_CID, false, NULL, CreatePreContentIterator },
|
|
|
|
{ &kNS_SUBTREEITERATOR_CID, false, NULL, CreateSubtreeIterator },
|
|
|
|
{ &kNS_HTMLIMAGEELEMENT_CID, false, NULL, CreateHTMLImgElement },
|
|
|
|
{ &kNS_HTMLOPTIONELEMENT_CID, false, NULL, CreateHTMLOptionElement },
|
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
{ &kNS_HTMLAUDIOELEMENT_CID, false, NULL, CreateHTMLAudioElement },
|
|
|
|
#endif
|
|
|
|
{ &kNS_CANVASRENDERINGCONTEXT2D_CID, false, NULL, CreateCanvasRenderingContext2D },
|
|
|
|
{ &kNS_CANVASRENDERINGCONTEXTWEBGL_CID, false, NULL, CreateCanvasRenderingContextWebGL },
|
|
|
|
{ &kNS_TEXT_ENCODER_CID, false, NULL, CreateTextEncoder },
|
|
|
|
{ &kNS_HTMLCOPY_TEXT_ENCODER_CID, false, NULL, CreateHTMLCopyTextEncoder },
|
|
|
|
{ &kNS_XMLCONTENTSERIALIZER_CID, false, NULL, CreateXMLContentSerializer },
|
|
|
|
{ &kNS_HTMLCONTENTSERIALIZER_CID, false, NULL, CreateHTMLContentSerializer },
|
|
|
|
{ &kNS_XHTMLCONTENTSERIALIZER_CID, false, NULL, CreateXHTMLContentSerializer },
|
|
|
|
{ &kNS_PLAINTEXTSERIALIZER_CID, false, NULL, CreatePlainTextSerializer },
|
|
|
|
{ &kNS_HTMLFRAGMENTSINK_CID, false, NULL, CreateHTMLFragmentSink },
|
|
|
|
{ &kNS_HTMLFRAGMENTSINK2_CID, false, NULL, CreateHTMLFragmentSink2 },
|
|
|
|
{ &kNS_HTMLPARANOIDFRAGMENTSINK_CID, false, NULL, CreateHTMLParanoidFragmentSink },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ &kNS_HTMLPARANOIDFRAGMENTSINK2_CID, false, NULL, CreateHTMLParanoidFragmentSink2 },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kMOZ_SANITIZINGHTMLSERIALIZER_CID, false, NULL, CreateSanitizingHTMLSerializer },
|
|
|
|
{ &kNS_XMLFRAGMENTSINK_CID, false, NULL, CreateXMLFragmentSink },
|
|
|
|
{ &kNS_XMLFRAGMENTSINK2_CID, false, NULL, CreateXMLFragmentSink2 },
|
|
|
|
{ &kNS_XHTMLPARANOIDFRAGMENTSINK_CID, false, NULL, CreateXHTMLParanoidFragmentSink },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ &kNS_XHTMLPARANOIDFRAGMENTSINK2_CID, false, NULL, CreateXHTMLParanoidFragmentSink2 },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_XBLSERVICE_CID, false, NULL, CreateXBLService },
|
|
|
|
{ &kNS_CONTENTPOLICY_CID, false, NULL, CreateContentPolicy },
|
|
|
|
{ &kNS_DATADOCUMENTCONTENTPOLICY_CID, false, NULL, nsDataDocumentContentPolicyConstructor },
|
|
|
|
{ &kNS_NODATAPROTOCOLCONTENTPOLICY_CID, false, NULL, nsNoDataProtocolContentPolicyConstructor },
|
|
|
|
{ &kNS_XULCONTROLLERS_CID, false, NULL, NS_NewXULControllers },
|
2003-01-14 07:08:59 +00:00
|
|
|
#ifdef MOZ_XUL
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_XULSORTSERVICE_CID, false, NULL, CreateXULSortService },
|
|
|
|
{ &kNS_XULTEMPLATEBUILDER_CID, false, NULL, NS_NewXULContentBuilder },
|
|
|
|
{ &kNS_XULTREEBUILDER_CID, false, NULL, NS_NewXULTreeBuilder },
|
|
|
|
{ &kNS_XULPOPUPMANAGER_CID, false, NULL, CreateXULPopupManager },
|
|
|
|
{ &kNS_XULDOCUMENT_CID, false, NULL, CreateXULDocument },
|
|
|
|
{ &kNS_XULPROTOTYPECACHE_CID, false, NULL, NS_NewXULPrototypeCache },
|
2003-01-14 07:08:59 +00:00
|
|
|
#endif
|
2004-10-07 20:59:53 +00:00
|
|
|
#ifdef MOZ_XTF
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_XTFSERVICE_CID, false, NULL, CreateXTFService },
|
|
|
|
{ &kNS_XMLCONTENTBUILDER_CID, false, NULL, CreateXMLContentBuilder },
|
2004-10-07 20:59:53 +00:00
|
|
|
#endif
|
2010-06-22 16:59:57 +00:00
|
|
|
{ &kNS_CONTENT_DOCUMENT_LOADER_FACTORY_CID, false, NULL, CreateContentDLF },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_WYCIWYGPROTOCOLHANDLER_CID, false, NULL, nsWyciwygProtocolHandlerConstructor },
|
|
|
|
{ &kNS_SYNCLOADDOMSERVICE_CID, false, NULL, nsSyncLoadServiceConstructor },
|
|
|
|
{ &kNS_DOM_SCRIPT_OBJECT_FACTORY_CID, false, NULL, nsDOMScriptObjectFactoryConstructor },
|
|
|
|
{ &kNS_BASE_DOM_EXCEPTION_CID, false, NULL, nsBaseDOMExceptionConstructor },
|
|
|
|
{ &kNS_JSPROTOCOLHANDLER_CID, false, NULL, nsJSProtocolHandler::Create },
|
|
|
|
{ &kNS_JSURI_CID, false, NULL, nsJSURIConstructor },
|
|
|
|
{ &kNS_WINDOWCOMMANDTABLE_CID, false, NULL, CreateWindowCommandTableConstructor },
|
|
|
|
{ &kNS_WINDOWCONTROLLER_CID, false, NULL, CreateWindowControllerWithSingletonCommandTable },
|
|
|
|
{ &kNS_VIEW_MANAGER_CID, false, NULL, nsViewManagerConstructor },
|
|
|
|
{ &kNS_PLUGINDOCLOADERFACTORY_CID, false, NULL, CreateContentDLF },
|
|
|
|
{ &kNS_PLUGINDOCUMENT_CID, false, NULL, CreatePluginDocument },
|
2008-10-30 05:20:08 +00:00
|
|
|
#ifdef MOZ_MEDIA
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_VIDEODOCUMENT_CID, false, NULL, CreateVideoDocument },
|
2008-10-30 05:20:08 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_STYLESHEETSERVICE_CID, false, NULL, nsStyleSheetServiceConstructor },
|
|
|
|
{ &kTRANSFORMIIX_XSLT_PROCESSOR_CID, false, NULL, txMozillaXSLTProcessorConstructor },
|
|
|
|
{ &kTRANSFORMIIX_XPATH_EVALUATOR_CID, false, NULL, nsXPathEvaluatorConstructor },
|
|
|
|
{ &kTRANSFORMIIX_XPATH1_SCHEME_CID, false, NULL, nsXPath1SchemeProcessorConstructor },
|
|
|
|
{ &kTRANSFORMIIX_NODESET_CID, false, NULL, txNodeSetAdaptorConstructor },
|
|
|
|
{ &kNS_XMLSERIALIZER_CID, false, NULL, nsDOMSerializerConstructor },
|
|
|
|
{ &kNS_FILEREADER_CID, false, NULL, nsDOMFileReaderConstructor },
|
|
|
|
{ &kNS_FORMDATA_CID, false, NULL, nsFormDataConstructor },
|
|
|
|
{ &kNS_FILEDATAPROTOCOLHANDLER_CID, false, NULL, nsFileDataProtocolHandlerConstructor },
|
|
|
|
{ &kNS_XMLHTTPREQUEST_CID, false, NULL, nsXMLHttpRequestConstructor },
|
2010-06-21 15:41:42 +00:00
|
|
|
{ &kNS_WEBSOCKET_CID, false, NULL, nsWebSocketConstructor },
|
|
|
|
{ &kNS_WSPROTOCOLHANDLER_CID, false, NULL, nsWSProtocolHandlerConstructor },
|
|
|
|
{ &kNS_WSSPROTOCOLHANDLER_CID, false, NULL, nsWSSProtocolHandlerConstructor },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_DOMPARSER_CID, false, NULL, nsDOMParserConstructor },
|
|
|
|
{ &kNS_DOMSTORAGE_CID, false, NULL, NS_NewDOMStorage },
|
|
|
|
{ &kNS_DOMSTORAGE2_CID, false, NULL, NS_NewDOMStorage2 },
|
|
|
|
{ &kNS_DOMSTORAGEMANAGER_CID, false, NULL, nsDOMStorageManagerConstructor },
|
|
|
|
{ &kNS_DOMJSON_CID, false, NULL, NS_NewJSON },
|
|
|
|
{ &kNS_TEXTEDITOR_CID, false, NULL, nsPlaintextEditorConstructor },
|
2007-02-24 20:07:06 +00:00
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
#ifdef ENABLE_EDITOR_API_LOG
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_HTMLEDITOR_CID, false, NULL, nsHTMLEditorLogConstructor },
|
2007-02-24 20:07:06 +00:00
|
|
|
#else
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_HTMLEDITOR_CID, false, NULL, nsHTMLEditorConstructor },
|
2007-02-24 20:07:06 +00:00
|
|
|
#endif
|
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_EDITORCONTROLLER_CID, false, NULL, nsEditorControllerConstructor },
|
|
|
|
{ &kNS_EDITORCOMMANDTABLE_CID, false, NULL, nsEditorCommandTableConstructor },
|
2007-02-24 20:07:06 +00:00
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_TEXTSERVICESDOCUMENT_CID, false, NULL, nsTextServicesDocumentConstructor },
|
2007-02-24 20:07:06 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNS_GEOLOCATION_SERVICE_CID, false, NULL, nsGeolocationServiceConstructor },
|
|
|
|
{ &kNS_GEOLOCATION_CID, false, NULL, nsGeolocationConstructor },
|
|
|
|
{ &kNS_FOCUSMANAGER_CID, false, NULL, CreateFocusManager },
|
|
|
|
{ &kNS_ICONTENTUTILS_CID, false, NULL, nsIContentUtilsConstructor },
|
|
|
|
{ &kCSPSERVICE_CID, false, NULL, CSPServiceConstructor },
|
|
|
|
{ &kNS_EVENTLISTENERSERVICE_CID, false, NULL, CreateEventListenerService },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ &kNS_GLOBALMESSAGEMANAGER_CID, false, NULL, CreateGlobalMessageManager },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ &kNSCHANNELPOLICY_CID, false, NULL, nsChannelPolicyConstructor },
|
|
|
|
{ &kNS_SCRIPTSECURITYMANAGER_CID, false, NULL, Construct_nsIScriptSecurityManager },
|
|
|
|
{ &kNS_PRINCIPAL_CID, false, NULL, nsPrincipalConstructor },
|
|
|
|
{ &kNS_SYSTEMPRINCIPAL_CID, false, NULL, nsSystemPrincipalConstructor },
|
|
|
|
{ &kNS_NULLPRINCIPAL_CID, false, NULL, nsNullPrincipalConstructor },
|
|
|
|
{ &kNS_SECURITYNAMESET_CID, false, NULL, nsSecurityNameSetConstructor },
|
2010-06-25 12:25:31 +00:00
|
|
|
#if defined(XP_UNIX) || \
|
|
|
|
defined(_WINDOWS) || \
|
|
|
|
defined(machintosh) || \
|
|
|
|
defined(android)
|
2010-06-25 23:41:09 +00:00
|
|
|
{ &kNS_ACCELEROMETER_CID, false, NULL, nsAccelerometerSystemConstructor },
|
2010-06-25 12:25:31 +00:00
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ NULL }
|
2001-08-07 02:55:54 +00:00
|
|
|
};
|
1999-09-28 00:44:47 +00:00
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static const mozilla::Module::ContractIDEntry kLayoutContracts[] = {
|
|
|
|
XPCONNECT_CONTRACTS
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject;1", &kNS_BOXOBJECT_CID },
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-listbox;1", &kNS_LISTBOXOBJECT_CID },
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-menu;1", &kNS_MENUBOXOBJECT_CID },
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-popup;1", &kNS_POPUPBOXOBJECT_CID },
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-container;1", &kNS_CONTAINERBOXOBJECT_CID },
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-scrollbox;1", &kNS_SCROLLBOXOBJECT_CID },
|
|
|
|
{ "@mozilla.org/layout/xul-boxobject-tree;1", &kNS_TREEBOXOBJECT_CID },
|
|
|
|
#endif // MOZ_XUL
|
|
|
|
#ifndef MOZ_NO_INSPECTOR_APIS
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
{ "@mozilla.org/inspector/dom-view;1", &kIN_DOMVIEW_CID },
|
|
|
|
#endif
|
|
|
|
{ "@mozilla.org/inspector/deep-tree-walker;1", &kIN_DEEPTREEWALKER_CID },
|
|
|
|
{ "@mozilla.org/inspector/flasher;1", &kIN_FLASHER_CID },
|
|
|
|
{ "@mozilla.org/inspector/search;1?type=cssvalue", &kIN_CSSVALUESEARCH_CID },
|
|
|
|
{ "@mozilla.org/inspector/dom-utils;1", &kIN_DOMUTILS_CID },
|
|
|
|
#endif // MOZ_NO_INSPECTOR_APIS
|
|
|
|
{ NS_NAMESPACEMANAGER_CONTRACTID, &kNS_NAMESPACEMANAGER_CID },
|
|
|
|
{ "@mozilla.org/xml/xml-document;1", &kNS_XMLDOCUMENT_CID },
|
|
|
|
#ifdef MOZ_SVG
|
|
|
|
{ "@mozilla.org/svg/svg-document;1", &kNS_SVGDOCUMENT_CID },
|
|
|
|
#endif
|
|
|
|
{ "@mozilla.org/content/dom-selection;1", &kNS_DOMSELECTION_CID },
|
|
|
|
{ "@mozilla.org/content/range;1", &kNS_RANGE_CID },
|
|
|
|
{ "@mozilla.org/content/range-utils;1", &kNS_RANGEUTILS_CID },
|
|
|
|
{ "@mozilla.org/content/post-content-iterator;1", &kNS_CONTENTITERATOR_CID },
|
|
|
|
{ "@mozilla.org/content/pre-content-iterator;1", &kNS_PRECONTENTITERATOR_CID },
|
|
|
|
{ "@mozilla.org/content/subtree-content-iterator;1", &kNS_SUBTREEITERATOR_CID },
|
|
|
|
{ NS_HTMLIMGELEMENT_CONTRACTID, &kNS_HTMLIMAGEELEMENT_CID },
|
|
|
|
{ NS_HTMLOPTIONELEMENT_CONTRACTID, &kNS_HTMLOPTIONELEMENT_CID },
|
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
{ NS_HTMLAUDIOELEMENT_CONTRACTID, &kNS_HTMLAUDIOELEMENT_CID },
|
|
|
|
#endif
|
|
|
|
{ "@mozilla.org/content/canvas-rendering-context;1?id=2d", &kNS_CANVASRENDERINGCONTEXT2D_CID },
|
|
|
|
{ "@mozilla.org/content/canvas-rendering-context;1?id=moz-webgl", &kNS_CANVASRENDERINGCONTEXTWEBGL_CID },
|
|
|
|
{ "@mozilla.org/content/canvas-rendering-context;1?id=experimental-webgl", &kNS_CANVASRENDERINGCONTEXTWEBGL_CID },
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "text/xml", &kNS_TEXT_ENCODER_CID },
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "application/xml", &kNS_TEXT_ENCODER_CID },
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "application/xhtml+xml", &kNS_TEXT_ENCODER_CID },
|
|
|
|
#ifdef MOZ_SVG
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "image/svg+xml", &kNS_TEXT_ENCODER_CID },
|
|
|
|
#endif
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "text/html", &kNS_TEXT_ENCODER_CID },
|
|
|
|
{ NS_DOC_ENCODER_CONTRACTID_BASE "text/plain", &kNS_TEXT_ENCODER_CID },
|
|
|
|
{ NS_HTMLCOPY_ENCODER_CONTRACTID, &kNS_HTMLCOPY_TEXT_ENCODER_CID },
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "text/xml", &kNS_XMLCONTENTSERIALIZER_CID },
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "application/xml", &kNS_XMLCONTENTSERIALIZER_CID },
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "application/xhtml+xml", &kNS_XHTMLCONTENTSERIALIZER_CID },
|
|
|
|
#ifdef MOZ_SVG
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "image/svg+xml", &kNS_XMLCONTENTSERIALIZER_CID },
|
|
|
|
#endif
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "text/html", &kNS_HTMLCONTENTSERIALIZER_CID },
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "application/vnd.mozilla.xul+xml", &kNS_XMLCONTENTSERIALIZER_CID },
|
|
|
|
{ NS_CONTENTSERIALIZER_CONTRACTID_PREFIX "text/plain", &kNS_PLAINTEXTSERIALIZER_CID },
|
|
|
|
{ NS_PLAINTEXTSINK_CONTRACTID, &kNS_PLAINTEXTSERIALIZER_CID },
|
|
|
|
{ NS_HTMLFRAGMENTSINK_CONTRACTID, &kNS_HTMLFRAGMENTSINK_CID },
|
|
|
|
{ NS_HTMLFRAGMENTSINK2_CONTRACTID, &kNS_HTMLFRAGMENTSINK2_CID },
|
|
|
|
{ NS_HTMLPARANOIDFRAGMENTSINK_CONTRACTID, &kNS_HTMLPARANOIDFRAGMENTSINK_CID },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ NS_HTMLPARANOIDFRAGMENTSINK2_CONTRACTID, &kNS_HTMLPARANOIDFRAGMENTSINK2_CID },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ MOZ_SANITIZINGHTMLSERIALIZER_CONTRACTID, &kMOZ_SANITIZINGHTMLSERIALIZER_CID },
|
|
|
|
{ NS_XMLFRAGMENTSINK_CONTRACTID, &kNS_XMLFRAGMENTSINK_CID },
|
|
|
|
{ NS_XMLFRAGMENTSINK2_CONTRACTID, &kNS_XMLFRAGMENTSINK2_CID },
|
|
|
|
{ NS_XHTMLPARANOIDFRAGMENTSINK_CONTRACTID, &kNS_XHTMLPARANOIDFRAGMENTSINK_CID },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ NS_XHTMLPARANOIDFRAGMENTSINK2_CONTRACTID, &kNS_XHTMLPARANOIDFRAGMENTSINK2_CID },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ "@mozilla.org/xbl;1", &kNS_XBLSERVICE_CID },
|
|
|
|
{ NS_CONTENTPOLICY_CONTRACTID, &kNS_CONTENTPOLICY_CID },
|
|
|
|
{ NS_DATADOCUMENTCONTENTPOLICY_CONTRACTID, &kNS_DATADOCUMENTCONTENTPOLICY_CID },
|
|
|
|
{ NS_NODATAPROTOCOLCONTENTPOLICY_CONTRACTID, &kNS_NODATAPROTOCOLCONTENTPOLICY_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-controllers;1", &kNS_XULCONTROLLERS_CID },
|
|
|
|
#ifdef MOZ_XUL
|
|
|
|
{ "@mozilla.org/xul/xul-sort-service;1", &kNS_XULSORTSERVICE_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-template-builder;1", &kNS_XULTEMPLATEBUILDER_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-tree-builder;1", &kNS_XULTREEBUILDER_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-popup-manager;1", &kNS_XULPOPUPMANAGER_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-document;1", &kNS_XULDOCUMENT_CID },
|
|
|
|
{ "@mozilla.org/xul/xul-prototype-cache;1", &kNS_XULPROTOTYPECACHE_CID },
|
|
|
|
#endif
|
|
|
|
#ifdef MOZ_XTF
|
|
|
|
{ NS_XTFSERVICE_CONTRACTID, &kNS_XTFSERVICE_CID },
|
|
|
|
{ NS_XMLCONTENTBUILDER_CONTRACTID, &kNS_XMLCONTENTBUILDER_CID },
|
|
|
|
#endif
|
|
|
|
{ CONTENT_DLF_CONTRACTID, &kNS_CONTENT_DOCUMENT_LOADER_FACTORY_CID },
|
|
|
|
{ NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "wyciwyg", &kNS_WYCIWYGPROTOCOLHANDLER_CID },
|
|
|
|
{ NS_SYNCLOADDOMSERVICE_CONTRACTID, &kNS_SYNCLOADDOMSERVICE_CID },
|
|
|
|
{ NS_JSPROTOCOLHANDLER_CONTRACTID, &kNS_JSPROTOCOLHANDLER_CID },
|
|
|
|
{ NS_WINDOWCONTROLLER_CONTRACTID, &kNS_WINDOWCONTROLLER_CID },
|
|
|
|
{ "@mozilla.org/view-manager;1", &kNS_VIEW_MANAGER_CID },
|
|
|
|
{ PLUGIN_DLF_CONTRACTID, &kNS_PLUGINDOCLOADERFACTORY_CID },
|
|
|
|
{ NS_STYLESHEETSERVICE_CONTRACTID, &kNS_STYLESHEETSERVICE_CID },
|
|
|
|
{ TRANSFORMIIX_XSLT_PROCESSOR_CONTRACTID, &kTRANSFORMIIX_XSLT_PROCESSOR_CID },
|
|
|
|
{ NS_XPATH_EVALUATOR_CONTRACTID, &kTRANSFORMIIX_XPATH_EVALUATOR_CID },
|
|
|
|
{ NS_XPOINTER_SCHEME_PROCESSOR_BASE "xpath1", &kTRANSFORMIIX_XPATH1_SCHEME_CID },
|
|
|
|
{ TRANSFORMIIX_NODESET_CONTRACTID, &kTRANSFORMIIX_NODESET_CID },
|
|
|
|
{ NS_XMLSERIALIZER_CONTRACTID, &kNS_XMLSERIALIZER_CID },
|
|
|
|
{ NS_FILEREADER_CONTRACTID, &kNS_FILEREADER_CID },
|
|
|
|
{ NS_FORMDATA_CONTRACTID, &kNS_FORMDATA_CID },
|
|
|
|
{ NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX FILEDATA_SCHEME, &kNS_FILEDATAPROTOCOLHANDLER_CID },
|
|
|
|
{ NS_XMLHTTPREQUEST_CONTRACTID, &kNS_XMLHTTPREQUEST_CID },
|
2010-06-21 15:41:42 +00:00
|
|
|
{ NS_WEBSOCKET_CONTRACTID, &kNS_WEBSOCKET_CID },
|
|
|
|
{ NS_WSPROTOCOLHANDLER_CONTRACTID, &kNS_WSPROTOCOLHANDLER_CID },
|
|
|
|
{ NS_WSSPROTOCOLHANDLER_CONTRACTID, &kNS_WSSPROTOCOLHANDLER_CID },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ NS_DOMPARSER_CONTRACTID, &kNS_DOMPARSER_CID },
|
|
|
|
{ "@mozilla.org/dom/storage;1", &kNS_DOMSTORAGE_CID },
|
|
|
|
{ "@mozilla.org/dom/storage;2", &kNS_DOMSTORAGE2_CID },
|
|
|
|
{ "@mozilla.org/dom/storagemanager;1", &kNS_DOMSTORAGEMANAGER_CID },
|
|
|
|
{ "@mozilla.org/dom/json;1", &kNS_DOMJSON_CID },
|
|
|
|
{ "@mozilla.org/editor/texteditor;1", &kNS_TEXTEDITOR_CID },
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
#ifdef ENABLE_EDITOR_API_LOG
|
|
|
|
{ "@mozilla.org/editor/htmleditor;1", &kNS_HTMLEDITOR_CID },
|
|
|
|
#else
|
|
|
|
{ "@mozilla.org/editor/htmleditor;1", &kNS_HTMLEDITOR_CID },
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
{ "@mozilla.org/editor/editorcontroller;1", &kNS_EDITORCONTROLLER_CID },
|
|
|
|
{ "", &kNS_EDITORCOMMANDTABLE_CID },
|
|
|
|
#ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY
|
|
|
|
{ "@mozilla.org/textservices/textservicesdocument;1", &kNS_TEXTSERVICESDOCUMENT_CID },
|
|
|
|
#endif
|
|
|
|
{ "@mozilla.org/geolocation/service;1", &kNS_GEOLOCATION_SERVICE_CID },
|
|
|
|
{ "@mozilla.org/geolocation;1", &kNS_GEOLOCATION_CID },
|
|
|
|
{ "@mozilla.org/focus-manager;1", &kNS_FOCUSMANAGER_CID },
|
|
|
|
{ "@mozilla.org/content/contentutils;1", &kNS_ICONTENTUTILS_CID },
|
|
|
|
{ CSPSERVICE_CONTRACTID, &kCSPSERVICE_CID },
|
|
|
|
{ NS_EVENTLISTENERSERVICE_CONTRACTID, &kNS_EVENTLISTENERSERVICE_CID },
|
2010-06-22 16:59:57 +00:00
|
|
|
{ NS_GLOBALMESSAGEMANAGER_CONTRACTID, &kNS_GLOBALMESSAGEMANAGER_CID },
|
2010-06-10 18:11:11 +00:00
|
|
|
{ NSCHANNELPOLICY_CONTRACTID, &kNSCHANNELPOLICY_CID },
|
|
|
|
{ NS_SCRIPTSECURITYMANAGER_CONTRACTID, &kNS_SCRIPTSECURITYMANAGER_CID },
|
|
|
|
{ NS_GLOBAL_CHANNELEVENTSINK_CONTRACTID, &kNS_SCRIPTSECURITYMANAGER_CID },
|
|
|
|
{ NS_PRINCIPAL_CONTRACTID, &kNS_PRINCIPAL_CID },
|
|
|
|
{ NS_SYSTEMPRINCIPAL_CONTRACTID, &kNS_SYSTEMPRINCIPAL_CID },
|
|
|
|
{ NS_NULLPRINCIPAL_CONTRACTID, &kNS_NULLPRINCIPAL_CID },
|
|
|
|
{ NS_SECURITYNAMESET_CONTRACTID, &kNS_SECURITYNAMESET_CID },
|
2010-06-25 23:41:09 +00:00
|
|
|
#if defined(XP_UNIX) || \
|
|
|
|
defined(_WINDOWS) || \
|
|
|
|
defined(machintosh) || \
|
|
|
|
defined(android)
|
|
|
|
{ NS_ACCELEROMETER_CONTRACTID, &kNS_ACCELEROMETER_CID },
|
|
|
|
#endif
|
2010-06-10 18:11:11 +00:00
|
|
|
{ NULL }
|
2010-04-11 13:55:24 +00:00
|
|
|
};
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static const mozilla::Module::CategoryEntry kLayoutCategories[] = {
|
|
|
|
XPCONNECT_CATEGORIES
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY, "Image", NS_HTMLIMGELEMENT_CONTRACTID },
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_PROTO_ALIAS_CATEGORY, "Image", "HTMLImageElement" },
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY, "Option", NS_HTMLOPTIONELEMENT_CONTRACTID },
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_PROTO_ALIAS_CATEGORY, "Option", "HTMLOptionElement" },
|
|
|
|
#ifdef MOZ_MEDIA
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY, "Audio", NS_HTMLAUDIOELEMENT_CONTRACTID },
|
|
|
|
{ JAVASCRIPT_GLOBAL_CONSTRUCTOR_PROTO_ALIAS_CATEGORY, "Audio", "HTMLAudioElement" },
|
|
|
|
#endif
|
|
|
|
{ "content-policy", NS_DATADOCUMENTCONTENTPOLICY_CONTRACTID, NS_DATADOCUMENTCONTENTPOLICY_CONTRACTID },
|
|
|
|
{ "content-policy", NS_NODATAPROTOCOLCONTENTPOLICY_CONTRACTID, NS_NODATAPROTOCOLCONTENTPOLICY_CONTRACTID },
|
|
|
|
{ "content-policy", "CSPService", CSPSERVICE_CONTRACTID },
|
|
|
|
{ "net-channel-event-sinks", "CSPService", CSPSERVICE_CONTRACTID },
|
|
|
|
{ JAVASCRIPT_GLOBAL_STATIC_NAMESET_CATEGORY, "PrivilegeManager", NS_SECURITYNAMESET_CONTRACTID },
|
|
|
|
{ "app-startup", "Script Security Manager", "service," NS_SCRIPTSECURITYMANAGER_CONTRACTID },
|
|
|
|
CONTENTDLF_CATEGORIES
|
|
|
|
{ NULL }
|
2010-04-11 13:55:24 +00:00
|
|
|
};
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static void
|
|
|
|
LayoutModuleDtor()
|
2010-04-11 13:55:24 +00:00
|
|
|
{
|
2010-06-10 18:11:11 +00:00
|
|
|
xpcModuleDtor();
|
2010-04-11 13:55:24 +00:00
|
|
|
|
|
|
|
nsScriptSecurityManager::Shutdown();
|
|
|
|
}
|
|
|
|
|
2010-06-10 18:11:11 +00:00
|
|
|
static const mozilla::Module kLayoutModule = {
|
|
|
|
mozilla::Module::kVersion,
|
|
|
|
kLayoutCIDs,
|
|
|
|
kLayoutContracts,
|
|
|
|
kLayoutCategories,
|
|
|
|
NULL,
|
|
|
|
Initialize,
|
|
|
|
LayoutModuleDtor
|
2010-04-11 13:55:24 +00:00
|
|
|
};
|
2010-06-10 18:11:11 +00:00
|
|
|
|
|
|
|
NSMODULE_DEFN(nsLayoutModule) = &kLayoutModule;
|