Bug 796903 - Part b: Remove classinfo from DOMImplementation; r=bz
authorMs2ger <ms2ger@gmail.com>
Sun, 21 Oct 2012 09:38:41 +0200
changeset 118832 abe709bfc49a4d5027bd15331b0cad36e753082b
parent 118831 b72413cdab5e4bd854a506feaff79db118fdd155
child 118833 ae051b7f7e4e9363b5402c4ec0279ed67af6a75f
child 118929 0ee1233feb66a90875a8075a6b28cfad031c7a1b
push id1997
push userakeybl@mozilla.com
push dateMon, 07 Jan 2013 21:25:26 +0000
treeherdermozilla-beta@4baf45cdcf21 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz
bugs796903
milestone19.0a1
first release with
nightly linux32
abe709bfc49a / 19.0a1 / 20121021030553 / files
nightly linux64
abe709bfc49a / 19.0a1 / 20121021030553 / files
nightly mac
abe709bfc49a / 19.0a1 / 20121021030553 / files
nightly win32
abe709bfc49a / 19.0a1 / 20121021030553 / files
nightly win64
abe709bfc49a / 19.0a1 / 20121021030553 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 796903 - Part b: Remove classinfo from DOMImplementation; r=bz
content/base/src/DOMImplementation.cpp
content/xml/document/src/nsXMLContentSink.cpp
dom/base/nsDOMClassInfo.cpp
dom/base/nsDOMClassInfoClasses.h
dom/imptests/failures/webapps/DOMCore/tests/approved/test_interfaces.html.json
dom/interfaces/core/nsIDOMDOMImplementation.idl
js/xpconnect/src/dom_quickstubs.qsconf
--- a/content/base/src/DOMImplementation.cpp
+++ b/content/base/src/DOMImplementation.cpp
@@ -5,27 +5,24 @@
 #include "mozilla/dom/DOMImplementation.h"
 
 #include "mozilla/dom/DOMImplementationBinding.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsContentUtils.h"
 #include "nsDOMClassInfoID.h"
 #include "nsIDOMDocumentType.h"
 
-DOMCI_DATA(DOMImplementation, mozilla::dom::DOMImplementation)
-
 namespace mozilla {
 namespace dom {
 
 // QueryInterface implementation for DOMImplementation
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMImplementation)
   NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
   NS_INTERFACE_MAP_ENTRY(nsIDOMDOMImplementation)
-  NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMDOMImplementation)
-  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DOMImplementation)
+  NS_INTERFACE_MAP_ENTRY(nsISupports)
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_1(DOMImplementation, mOwner)
 
 NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMImplementation)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMImplementation)
 
 JSObject*
--- a/content/xml/document/src/nsXMLContentSink.cpp
+++ b/content/xml/document/src/nsXMLContentSink.cpp
@@ -5,17 +5,16 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsCOMPtr.h"
 #include "nsXMLContentSink.h"
 #include "nsIParser.h"
 #include "nsIDocument.h"
 #include "nsIDOMDocument.h"
 #include "nsIDOMDocumentType.h"
-#include "nsIDOMDOMImplementation.h"
 #include "nsIContent.h"
 #include "nsIURI.h"
 #include "nsNetUtil.h"
 #include "nsIDocShell.h"
 #include "nsIDocShellTreeItem.h"
 #include "nsIStyleSheetLinkingElement.h"
 #include "nsIDOMComment.h"
 #include "nsIDOMCDATASection.h"
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -182,17 +182,16 @@
 #include "nsIWifiEventInits.h"
 #endif
 
 // includes needed for the prototype chain interfaces
 #include "nsIDOMNavigator.h"
 #include "nsIDOMBarProp.h"
 #include "nsIDOMScreen.h"
 #include "nsIDOMDocumentType.h"
-#include "nsIDOMDOMImplementation.h"
 #include "nsIDOMDocumentFragment.h"
 #include "nsDOMAttribute.h"
 #include "nsIDOMText.h"
 #include "nsIDOMComment.h"
 #include "nsIDOMCDATASection.h"
 #include "nsIDOMProcessingInstruction.h"
 #include "nsIDOMDataContainerEvent.h"
 #include "nsIDOMKeyEvent.h"
@@ -786,18 +785,16 @@ static nsDOMClassInfoData sClassInfoData
                            nsIXPCScriptable::WANT_CONSTRUCT |
                            nsIXPCScriptable::DONT_ENUM_QUERY_INTERFACE)
 
   // Core classes
   NS_DEFINE_CLASSINFO_DATA(XMLDocument, nsDocumentSH,
                            DOCUMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DocumentType, nsNodeSH,
                            NODE_SCRIPTABLE_FLAGS)
-  NS_DEFINE_CLASSINFO_DATA(DOMImplementation, nsDOMGenericSH,
-                           DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMException, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMTokenList, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMSettableTokenList, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DocumentFragment, nsNodeSH, NODE_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(Element, nsElementSH,
@@ -2517,20 +2514,16 @@ nsDOMClassInfo::Init()
     DOM_CLASSINFO_DOCUMENT_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(DocumentType, nsIDOMDocumentType)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDocumentType)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
   DOM_CLASSINFO_MAP_END
 
-  DOM_CLASSINFO_MAP_BEGIN(DOMImplementation, nsIDOMDOMImplementation)
-    DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMImplementation)
-  DOM_CLASSINFO_MAP_END
-
   DOM_CLASSINFO_MAP_BEGIN(DOMException, nsIDOMDOMException)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMException)
     DOM_CLASSINFO_MAP_ENTRY(nsIException)
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(DOMTokenList, nsIDOMDOMTokenList)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMTokenList)
   DOM_CLASSINFO_MAP_END
--- a/dom/base/nsDOMClassInfoClasses.h
+++ b/dom/base/nsDOMClassInfoClasses.h
@@ -14,17 +14,16 @@ DOMCI_CLASS(BarProp)
 DOMCI_CLASS(History)
 DOMCI_CLASS(Screen)
 DOMCI_CLASS(DOMPrototype)
 DOMCI_CLASS(DOMConstructor)
 
 // Core classes
 DOMCI_CLASS(XMLDocument)
 DOMCI_CLASS(DocumentType)
-DOMCI_CLASS(DOMImplementation)
 DOMCI_CLASS(DOMException)
 DOMCI_CLASS(DOMTokenList)
 DOMCI_CLASS(DOMSettableTokenList)
 DOMCI_CLASS(DocumentFragment)
 DOMCI_CLASS(Element)
 DOMCI_CLASS(Attr)
 DOMCI_CLASS(Text)
 DOMCI_CLASS(Comment)
--- a/dom/imptests/failures/webapps/DOMCore/tests/approved/test_interfaces.html.json
+++ b/dom/imptests/failures/webapps/DOMCore/tests/approved/test_interfaces.html.json
@@ -186,24 +186,16 @@
   "Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError": true,
   "Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError": true,
   "Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError": true,
   "Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError": true,
   "Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError": true,
   "EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on xmlDoc with too few arguments must throw TypeError": true,
   "EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on xmlDoc with too few arguments must throw TypeError": true,
   "EventTarget interface: calling dispatchEvent(Event) on xmlDoc with too few arguments must throw TypeError": true,
-  "DOMImplementation interface: existence and properties of interface object": true,
-  "DOMImplementation interface: existence and properties of interface prototype object": true,
-  "DOMImplementation interface: existence and properties of interface prototype object's \"constructor\" property": true,
-  "Stringification of document.implementation": "debug",
-  "DOMImplementation interface: calling hasFeature(DOMString,DOMString) on document.implementation with too few arguments must throw TypeError": true,
-  "DOMImplementation interface: calling createDocumentType(DOMString,DOMString,DOMString) on document.implementation with too few arguments must throw TypeError": true,
-  "DOMImplementation interface: calling createDocument(DOMString,DOMString,DocumentType) on document.implementation with too few arguments must throw TypeError": true,
-  "DOMImplementation interface: calling createHTMLDocument(DOMString) on document.implementation with too few arguments must throw TypeError": true,
   "DocumentFragment interface: existence and properties of interface object": true,
   "DocumentFragment interface: existence and properties of interface prototype object": true,
   "DocumentFragment interface: existence and properties of interface prototype object's \"constructor\" property": true,
   "Stringification of document.createDocumentFragment()": "debug",
   "Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError": true,
   "Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError": true,
   "Node interface: calling insertBefore(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError": true,
   "Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError": true,
--- a/dom/interfaces/core/nsIDOMDOMImplementation.idl
+++ b/dom/interfaces/core/nsIDOMDOMImplementation.idl
@@ -9,17 +9,17 @@
  * The nsIDOMDOMImplementation interface provides a number of methods for 
  * performing operations that are independent of any particular instance 
  * of the document object model.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(03a6f574-99ec-42f8-9e6c-812a4a9bcbf7)]
+[uuid(03a6f574-99ec-42f8-9e6c-812a4a9bcbf7)]
 interface nsIDOMDOMImplementation : nsISupports
 {
   boolean                   hasFeature(in DOMString feature, 
                                        in DOMString version);
 
   nsIDOMDocumentType        createDocumentType(in DOMString qualifiedName,
                                                in DOMString publicId,
                                                in DOMString systemId)
--- a/js/xpconnect/src/dom_quickstubs.qsconf
+++ b/js/xpconnect/src/dom_quickstubs.qsconf
@@ -131,17 +131,16 @@ members = [
     'nsIDOMElement.releaseCapture',
     'nsIDOMElement.mozMatchesSelector',
     'nsIDOMNamedNodeMap.item',
     'nsIDOMNamedNodeMap.length',
     'nsIDOMNode.*',
     'nsIDOMNodeSelector.querySelector',
     'nsIDOMNodeSelector.querySelectorAll',
     'nsIDOMText.splitText',
-    'nsIDOMDOMImplementation.*',
     'nsIDOMDOMStringList.*',
     'nsIDOMXULDocument.getBoxObjectFor',
     'nsIDOMMutationRecord.*',
 
     # dom/interfaces/css
     'nsIDOMElementCSSInlineStyle.*',
     'nsIDOMCSS2Properties.*',
     'nsIDOMRect.*',