reverting, wrong patch, missing AMBIGUOUS
authortimeless@mozdev.org
Wed, 19 Mar 2008 14:55:22 -0700
changeset 13321 463d86b1d7890a132597e5f08bbf9d06c42595f3
parent 13320 35bf59d0dbe96fb608f59fd0a4acfce505214711
child 13322 eaa6cb7dbf967ab46c35863237486ac05c15cb66
push idunknown
push userunknown
push dateunknown
milestone1.9b5pre
reverting, wrong patch, missing AMBIGUOUS
browser/components/feeds/src/nsFeedSniffer.cpp
content/base/src/nsDOMParser.cpp
content/base/src/nsGenConImageContent.cpp
content/base/src/nsSyncLoadService.cpp
content/base/src/nsXMLHttpRequest.cpp
content/html/content/src/nsHTMLImageElement.cpp
content/html/content/src/nsHTMLInputElement.cpp
content/html/content/src/nsHTMLObjectElement.cpp
content/html/content/src/nsHTMLSharedObjectElement.cpp
content/xml/document/src/nsLoadSaveContentSink.cpp
embedding/browser/webBrowser/nsWebBrowser.cpp
js/src/xpconnect/tests/components/xpctest_child.cpp
layout/forms/nsComboboxControlFrame.cpp
layout/forms/nsFileControlFrame.cpp
layout/forms/nsIsIndexFrame.cpp
layout/forms/nsTextControlFrame.cpp
layout/generic/nsObjectFrame.cpp
layout/inspector/src/inDeepTreeWalker.cpp
layout/mathml/base/src/nsMathMLmactionFrame.cpp
layout/tables/nsTableRowGroupFrame.cpp
layout/xul/base/src/nsMenuBarListener.cpp
layout/xul/base/src/nsSliderFrame.cpp
layout/xul/base/src/nsXULPopupManager.cpp
modules/plugin/base/src/nsPluginHostImpl.cpp
netwerk/streamconv/converters/mozTXTToHTMLConv.cpp
netwerk/streamconv/converters/nsHTTPCompressConv.cpp
netwerk/streamconv/test/Converters.cpp
netwerk/streamconv/test/TestStreamConv.cpp
netwerk/test/TestUpload.cpp
parser/htmlparser/tests/grabpage/grabpage.cpp
plugin/oji/MRJ/plugin/Source/BackwardAdapter.cpp
toolkit/components/places/src/nsFaviconService.cpp
xpcom/base/nsExceptionService.cpp
xpcom/glue/nsISupportsImpl.h
xpfe/components/related/src/nsRelatedLinksHandler.cpp
xpinstall/src/nsXPInstallManager.cpp
--- a/browser/components/feeds/src/nsFeedSniffer.cpp
+++ b/browser/components/feeds/src/nsFeedSniffer.cpp
@@ -64,20 +64,17 @@
 #define TYPE_RSS "application/rss+xml"
 #define TYPE_MAYBE_FEED "application/vnd.mozilla.maybe.feed"
 
 #define NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 #define NS_RSS "http://purl.org/rss/1.0/"
 
 #define MAX_BYTES 512
 
-NS_IMPL_ISUPPORTS3(nsFeedSniffer,
-                   nsIContentSniffer,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS2(nsFeedSniffer, nsIContentSniffer, nsIStreamListener)
 
 nsresult
 nsFeedSniffer::ConvertEncodedData(nsIRequest* request,
                                   const PRUint8* data,
                                   PRUint32 length)
 {
   nsresult rv = NS_OK;
 
--- a/content/base/src/nsDOMParser.cpp
+++ b/content/base/src/nsDOMParser.cpp
@@ -118,17 +118,16 @@ nsDOMParser::~nsDOMParser()
 
 
 // QueryInterface implementation for nsDOMParser
 NS_INTERFACE_MAP_BEGIN(nsDOMParser)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMParser)
   NS_INTERFACE_MAP_ENTRY(nsIDOMParser)
   NS_INTERFACE_MAP_ENTRY(nsIDOMParserJS)
   NS_INTERFACE_MAP_ENTRY(nsIDOMLoadListener)
-  NS_INTERFACE_MAP_ENTRY(nsIDOMEventListener)
   NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
   NS_INTERFACE_MAP_ENTRY(nsIJSNativeInitializer)
   NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(DOMParser)
 NS_INTERFACE_MAP_END
 
 
 NS_IMPL_ADDREF(nsDOMParser)
 NS_IMPL_RELEASE(nsDOMParser)
--- a/content/base/src/nsGenConImageContent.cpp
+++ b/content/base/src/nsGenConImageContent.cpp
@@ -68,21 +68,18 @@ public:
   
 private:
   virtual ~nsGenConImageContent();
 
 public:
   NS_DECL_ISUPPORTS_INHERITED
 };
 
-NS_IMPL_ISUPPORTS_INHERITED3(nsGenConImageContent,
-                             nsXMLElement,
-                             nsIImageLoadingContent,
-                             imgIContainerObserver,
-                             imgIDecoderObserver)
+NS_IMPL_ISUPPORTS_INHERITED2(nsGenConImageContent, nsXMLElement,
+                             nsIImageLoadingContent, imgIDecoderObserver)
 
 nsresult
 NS_NewGenConImageContent(nsIContent** aResult, nsINodeInfo* aNodeInfo,
                          imgIRequest* aImageRequest)
 {
   NS_PRECONDITION(aImageRequest, "Must have request!");
   nsGenConImageContent *it = new nsGenConImageContent(aNodeInfo);
   if (!it)
--- a/content/base/src/nsSyncLoadService.cpp
+++ b/content/base/src/nsSyncLoadService.cpp
@@ -150,19 +150,18 @@ nsForceXMLListener::OnStopRequest(nsIReq
 
 nsSyncLoader::~nsSyncLoader()
 {
     if (mLoading && mChannel) {
         mChannel->Cancel(NS_BINDING_ABORTED);
     }
 }
 
-NS_IMPL_ISUPPORTS5(nsSyncLoader,
+NS_IMPL_ISUPPORTS4(nsSyncLoader,
                    nsIDOMLoadListener,
-                   nsIDOMEventListener,
                    nsIChannelEventSink,
                    nsIInterfaceRequestor,
                    nsISupportsWeakReference)
 
 nsresult
 nsSyncLoader::LoadDocument(nsIChannel* aChannel,
                            nsIPrincipal *aLoaderPrincipal,
                            PRBool aChannelIsSync,
--- a/content/base/src/nsXMLHttpRequest.cpp
+++ b/content/base/src/nsXMLHttpRequest.cpp
@@ -719,16 +719,17 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
 
 // QueryInterface implementation for nsXMLHttpRequest
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsXMLHttpRequest)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIXMLHttpRequest)
   NS_INTERFACE_MAP_ENTRY(nsIXMLHttpRequest)
   NS_INTERFACE_MAP_ENTRY(nsIJSXMLHttpRequest)
   NS_INTERFACE_MAP_ENTRY(nsIDOMLoadListener)
+  NS_INTERFACE_MAP_ENTRY(nsIDOMEventListener)
   NS_INTERFACE_MAP_ENTRY(nsIDOMEventTarget)
   NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
   NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
   NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
   NS_INTERFACE_MAP_ENTRY(nsIProgressEventSink)
   NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
   NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
   NS_INTERFACE_MAP_ENTRY(nsIJSNativeInitializer)
--- a/content/html/content/src/nsHTMLImageElement.cpp
+++ b/content/html/content/src/nsHTMLImageElement.cpp
@@ -187,21 +187,20 @@ nsHTMLImageElement::~nsHTMLImageElement(
 
 
 NS_IMPL_ADDREF_INHERITED(nsHTMLImageElement, nsGenericElement)
 NS_IMPL_RELEASE_INHERITED(nsHTMLImageElement, nsGenericElement)
 
 
 // QueryInterface implementation for nsHTMLImageElement
 NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLImageElement, nsGenericHTMLElement)
-  NS_INTERFACE_TABLE_INHERITED6(nsHTMLImageElement,
+  NS_INTERFACE_TABLE_INHERITED5(nsHTMLImageElement,
                                 nsIDOMHTMLImageElement,
                                 nsIDOMNSHTMLImageElement,
                                 nsIJSNativeInitializer,
-                                imgIContainerObserver,
                                 imgIDecoderObserver,
                                 nsIImageLoadingContent)
 NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLImageElement)
 
 
 NS_IMPL_ELEMENT_CLONE(nsHTMLImageElement)
 
 
--- a/content/html/content/src/nsHTMLInputElement.cpp
+++ b/content/html/content/src/nsHTMLInputElement.cpp
@@ -405,27 +405,26 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
 NS_IMPL_ADDREF_INHERITED(nsHTMLInputElement, nsGenericElement) 
 NS_IMPL_RELEASE_INHERITED(nsHTMLInputElement, nsGenericElement) 
 
 
 // QueryInterface implementation for nsHTMLInputElement
 NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLInputElement,
                                         nsGenericHTMLFormElement)
-  NS_INTERFACE_TABLE_INHERITED10(nsHTMLInputElement,
-                                 nsIDOMHTMLInputElement,
-                                 nsIDOMNSHTMLInputElement,
-                                 nsITextControlElement,
-                                 nsIFileControlElement,
-                                 nsIRadioControlElement,
-                                 nsIPhonetic,
-                                 imgIContainerObserver,
-                                 imgIDecoderObserver,
-                                 nsIImageLoadingContent,
-                                 nsIDOMNSEditableElement)
+  NS_INTERFACE_TABLE_INHERITED9(nsHTMLInputElement,
+                                nsIDOMHTMLInputElement,
+                                nsIDOMNSHTMLInputElement,
+                                nsITextControlElement,
+                                nsIFileControlElement,
+                                nsIRadioControlElement,
+                                nsIPhonetic,
+                                imgIDecoderObserver,
+                                nsIImageLoadingContent,
+                                nsIDOMNSEditableElement)
 NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLInputElement)
 
 
 // nsIDOMNode
 
 nsresult
 nsHTMLInputElement::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const
 {
--- a/content/html/content/src/nsHTMLObjectElement.cpp
+++ b/content/html/content/src/nsHTMLObjectElement.cpp
@@ -163,27 +163,26 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_
   tmp->Traverse(cb);
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
 NS_IMPL_ADDREF_INHERITED(nsHTMLObjectElement, nsGenericElement) 
 NS_IMPL_RELEASE_INHERITED(nsHTMLObjectElement, nsGenericElement) 
 
 NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLObjectElement,
                                         nsGenericHTMLFormElement)
-  NS_INTERFACE_TABLE_INHERITED10(nsHTMLObjectElement,
-                                 nsIDOMHTMLObjectElement,
-                                 nsIRequestObserver,
-                                 nsIStreamListener,
-                                 nsIFrameLoaderOwner,
-                                 imgIContainerObserver,
-                                 imgIDecoderObserver,
-                                 nsIObjectLoadingContent,
-                                 nsIImageLoadingContent,
-                                 nsIInterfaceRequestor,
-                                 nsIChannelEventSink)
+  NS_INTERFACE_TABLE_INHERITED9(nsHTMLObjectElement,
+                                nsIDOMHTMLObjectElement,
+                                imgIDecoderObserver,
+                                nsIRequestObserver,
+                                nsIStreamListener,
+                                nsIFrameLoaderOwner,
+                                nsIObjectLoadingContent,
+                                nsIImageLoadingContent,
+                                nsIInterfaceRequestor,
+                                nsIChannelEventSink)
 NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLObjectElement)
 
 NS_IMPL_ELEMENT_CLONE(nsHTMLObjectElement)
 
 
 NS_IMETHODIMP
 nsHTMLObjectElement::GetForm(nsIDOMHTMLFormElement **aForm)
 {
--- a/content/html/content/src/nsHTMLSharedObjectElement.cpp
+++ b/content/html/content/src/nsHTMLSharedObjectElement.cpp
@@ -208,23 +208,22 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
 NS_IMPL_ADDREF_INHERITED(nsHTMLSharedObjectElement, nsGenericElement) 
 NS_IMPL_RELEASE_INHERITED(nsHTMLSharedObjectElement, nsGenericElement) 
 
 NS_HTML_CONTENT_CC_INTERFACE_TABLE_AMBIGUOUS_HEAD(nsHTMLSharedObjectElement,
                                                   nsGenericHTMLElement,
                                                   nsIDOMHTMLAppletElement)
-  NS_INTERFACE_TABLE_INHERITED9(nsHTMLSharedObjectElement,
+  NS_INTERFACE_TABLE_INHERITED8(nsHTMLSharedObjectElement,
+                                imgIDecoderObserver,
                                 nsIRequestObserver,
                                 nsIStreamListener,
                                 nsIFrameLoaderOwner,
-                                imgIContainerObserver,
                                 nsIObjectLoadingContent,
-                                imgIDecoderObserver,
                                 nsIImageLoadingContent,
                                 nsIInterfaceRequestor,
                                 nsIChannelEventSink)
   NS_INTERFACE_TABLE_TO_MAP_SEGUE
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLAppletElement, applet)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLEmbedElement, embed)
 #ifdef MOZ_SVG
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMGetSVGDocument, embed)
--- a/content/xml/document/src/nsLoadSaveContentSink.cpp
+++ b/content/xml/document/src/nsLoadSaveContentSink.cpp
@@ -81,17 +81,16 @@ nsLoadSaveContentSink::Init(nsIXMLConten
   return NS_OK;
 }
 
 NS_IMPL_THREADSAFE_ADDREF(nsLoadSaveContentSink)
 NS_IMPL_THREADSAFE_RELEASE(nsLoadSaveContentSink)
 
 NS_INTERFACE_MAP_BEGIN(nsLoadSaveContentSink)
   NS_INTERFACE_MAP_ENTRY(nsIXMLContentSink)
-  NS_INTERFACE_MAP_ENTRY(nsIContentSink)
   NS_INTERFACE_MAP_ENTRY(nsIExpatSink)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIXMLContentSink)
 NS_INTERFACE_MAP_END
 
 // nsIContentSink
 NS_IMETHODIMP
 nsLoadSaveContentSink::WillBuildModel(void)
 {
--- a/embedding/browser/webBrowser/nsWebBrowser.cpp
+++ b/embedding/browser/webBrowser/nsWebBrowser.cpp
@@ -168,17 +168,16 @@ NS_IMPL_RELEASE(nsWebBrowser)
 NS_INTERFACE_MAP_BEGIN(nsWebBrowser)
     NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebBrowser)
     NS_INTERFACE_MAP_ENTRY(nsIWebBrowser)
     NS_INTERFACE_MAP_ENTRY(nsIWebNavigation)
     NS_INTERFACE_MAP_ENTRY(nsIBaseWindow)
     NS_INTERFACE_MAP_ENTRY(nsIScrollable)
     NS_INTERFACE_MAP_ENTRY(nsITextScroll)
     NS_INTERFACE_MAP_ENTRY(nsIDocShellTreeItem)
-    NS_INTERFACE_MAP_ENTRY(nsIDocShellTreeNode)
     NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
     NS_INTERFACE_MAP_ENTRY(nsIWebBrowserSetup)
     NS_INTERFACE_MAP_ENTRY(nsIWebBrowserPersist)
     NS_INTERFACE_MAP_ENTRY(nsICancelable)
     NS_INTERFACE_MAP_ENTRY(nsIWebBrowserFocus)
     NS_INTERFACE_MAP_ENTRY(nsIWebProgressListener)
     NS_INTERFACE_MAP_ENTRY(nsIWebBrowserStream)
     NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
--- a/js/src/xpconnect/tests/components/xpctest_child.cpp
+++ b/js/src/xpconnect/tests/components/xpctest_child.cpp
@@ -75,20 +75,17 @@ xpctestOther::xpctestOther()
 }
 
 NS_IMETHODIMP xpctestOther::Method3(PRInt16 i, PRInt16 j, PRInt16 k)
 {
     printf("Method3 called on inherited other\n");
     return NS_OK;
 }
 
-NS_IMPL_ISUPPORTS_INHERITED2(xpctestChild,
-                             xpctestOther,
-                             nsIXPCTestChild,
-                             nsIXPCTestParent)
+NS_IMPL_ISUPPORTS_INHERITED1(xpctestChild, xpctestOther, nsIXPCTestChild)
 
 xpctestChild::xpctestChild()
 {
 }
 
 NS_IMETHODIMP xpctestChild::Method1(PRInt16 i)
 {
     printf("Method1 called on child\n");
--- a/layout/forms/nsComboboxControlFrame.cpp
+++ b/layout/forms/nsComboboxControlFrame.cpp
@@ -148,19 +148,17 @@ class nsComboButtonListener: public nsID
     mComboBox = aCombobox; 
   }
 
   virtual ~nsComboButtonListener() {}
 
   nsComboboxControlFrame* mComboBox;
 };
 
-NS_IMPL_ISUPPORTS2(nsComboButtonListener,
-                   nsIDOMMouseListener,
-                   nsIDOMEventListener)
+NS_IMPL_ISUPPORTS1(nsComboButtonListener, nsIDOMMouseListener)
 
 // static class data member for Bug 32920
 nsComboboxControlFrame * nsComboboxControlFrame::mFocused = nsnull;
 
 nsIFrame*
 NS_NewComboboxControlFrame(nsIPresShell* aPresShell, nsStyleContext* aContext, PRUint32 aStateFlags)
 {
   nsComboboxControlFrame* it = new (aPresShell) nsComboboxControlFrame(aContext);
--- a/layout/forms/nsFileControlFrame.cpp
+++ b/layout/forms/nsFileControlFrame.cpp
@@ -607,19 +607,17 @@ NS_IMETHODIMP nsFileControlFrame::GetAcc
 
   return NS_ERROR_FAILURE;
 }
 #endif
 
 ////////////////////////////////////////////////////////////
 // Mouse listener implementation
 
-NS_IMPL_ISUPPORTS2(nsFileControlFrame::MouseListener,
-                   nsIDOMMouseListener,
-                   nsIDOMEventListener)
+NS_IMPL_ISUPPORTS1(nsFileControlFrame::MouseListener, nsIDOMMouseListener)
 
 NS_IMETHODIMP
 nsFileControlFrame::MouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
 {
   if (mFrame) {
     return mFrame->MouseClick(aMouseEvent);
   }
 
--- a/layout/forms/nsIsIndexFrame.cpp
+++ b/layout/forms/nsIsIndexFrame.cpp
@@ -247,20 +247,16 @@ nsIsIndexFrame::QueryInterface(const nsI
   if (aIID.Equals(NS_GET_IID(nsIStatefulFrame))) {
     *aInstancePtr = static_cast<nsIStatefulFrame*>(this);
     return NS_OK;
   }
   if (aIID.Equals(NS_GET_IID(nsIDOMKeyListener))) {
     *aInstancePtr = static_cast<nsIDOMKeyListener*>(this);
     return NS_OK;
   }
-  if (aIID.Equals(NS_GET_IID(nsIDOMEventListener))) {
-    *aInstancePtr = static_cast<nsIDOMEventListener*>(this);
-    return NS_OK;
-  }
 
   return nsAreaFrame::QueryInterface(aIID, aInstancePtr);
 }
 
 nscoord
 nsIsIndexFrame::GetMinWidth(nsIRenderingContext *aRenderingContext)
 {
   nscoord result;
--- a/layout/forms/nsTextControlFrame.cpp
+++ b/layout/forms/nsTextControlFrame.cpp
@@ -597,20 +597,17 @@ public:
 
 private:
   nsCOMPtr<nsFrameSelection> mFrameSelection;
   nsCOMPtr<nsIContent>        mLimiter;
   nsWeakPtr mPresShellWeak;
 };
 
 // Implement our nsISupports methods
-NS_IMPL_ISUPPORTS3(nsTextInputSelectionImpl,
-                   nsISelectionController,
-                   nsISelectionDisplay,
-                   nsISupportsWeakReference)
+NS_IMPL_ISUPPORTS2(nsTextInputSelectionImpl, nsISelectionController, nsISupportsWeakReference)
 
 
 // BEGIN nsTextInputSelectionImpl
 
 nsTextInputSelectionImpl::nsTextInputSelectionImpl(nsFrameSelection *aSel, nsIPresShell *aShell, nsIContent *aLimiter)
 {
   if (aSel && aShell)
   {
--- a/layout/generic/nsObjectFrame.cpp
+++ b/layout/generic/nsObjectFrame.cpp
@@ -1893,17 +1893,20 @@ NS_NewObjectFrame(nsIPresShell* aPresShe
 nsPluginDOMContextMenuListener::nsPluginDOMContextMenuListener()
 {
 }
 
 nsPluginDOMContextMenuListener::~nsPluginDOMContextMenuListener()
 {
 }
 
-NS_IMPL_ISUPPORTS2(nsPluginDOMContextMenuListener, nsIDOMContextMenuListener, nsIEventListener)
+NS_IMPL_ISUPPORTS3(nsPluginDOMContextMenuListener,
+                   nsIDOMContextMenuListener,
+                   nsIDOMEventListener,
+                   nsIEventListener)
 
 NS_IMETHODIMP
 nsPluginDOMContextMenuListener::ContextMenu(nsIDOMEvent* aContextMenuEvent)
 {
   aContextMenuEvent->PreventDefault(); // consume event
 
   return NS_OK;
 }
--- a/layout/inspector/src/inDeepTreeWalker.cpp
+++ b/layout/inspector/src/inDeepTreeWalker.cpp
@@ -74,19 +74,17 @@ inDeepTreeWalker::inDeepTreeWalker()
 
 inDeepTreeWalker::~inDeepTreeWalker() 
 { 
   for (PRInt32 i = mStack.Count() - 1; i >= 0; --i) {
     delete static_cast<DeepTreeStackItem*>(mStack[i]);
   }
 }
 
-NS_IMPL_ISUPPORTS2(inDeepTreeWalker,
-                   inIDeepTreeWalker,
-                   nsIDOMTreeWalker)
+NS_IMPL_ISUPPORTS1(inDeepTreeWalker, inIDeepTreeWalker)
 
 ////////////////////////////////////////////////////
 // inIDeepTreeWalker
 
 NS_IMETHODIMP
 inDeepTreeWalker::GetShowAnonymousContent(PRBool *aShowAnonymousContent)
 {
   *aShowAnonymousContent = mShowAnonymousContent;
--- a/layout/mathml/base/src/nsMathMLmactionFrame.cpp
+++ b/layout/mathml/base/src/nsMathMLmactionFrame.cpp
@@ -71,17 +71,20 @@
 #define NS_MATHML_ACTION_TYPE_NONE         0
 #define NS_MATHML_ACTION_TYPE_TOGGLE       1
 #define NS_MATHML_ACTION_TYPE_STATUSLINE   2
 #define NS_MATHML_ACTION_TYPE_TOOLTIP      3 // unsupported
 #define NS_MATHML_ACTION_TYPE_RESTYLE      4
 
 NS_IMPL_ADDREF_INHERITED(nsMathMLmactionFrame, nsMathMLContainerFrame)
 NS_IMPL_RELEASE_INHERITED(nsMathMLmactionFrame, nsMathMLContainerFrame)
-NS_IMPL_QUERY_INTERFACE_INHERITED1(nsMathMLmactionFrame, nsMathMLContainerFrame, nsIDOMMouseListener)
+NS_IMPL_QUERY_INTERFACE_INHERITED2(nsMathMLmactionFrame,
+                                   nsMathMLContainerFrame,
+                                   nsIDOMMouseListener,
+                                   nsIDOMEventListener)
 
 nsIFrame*
 NS_NewMathMLmactionFrame(nsIPresShell* aPresShell, nsStyleContext* aContext)
 {
   return new (aPresShell) nsMathMLmactionFrame(aContext);
 }
 
 nsMathMLmactionFrame::~nsMathMLmactionFrame()
--- a/layout/tables/nsTableRowGroupFrame.cpp
+++ b/layout/tables/nsTableRowGroupFrame.cpp
@@ -84,16 +84,20 @@ nsTableRowGroupFrame::QueryInterface(con
   if (aIID.Equals(kITableRowGroupIID)) {
     *aInstancePtr = (void*)this;
     return NS_OK;
   }
   if (aIID.Equals(NS_GET_IID(nsILineIteratorNavigator))) {
     *aInstancePtr = static_cast<nsILineIteratorNavigator*>(this);
     return NS_OK;
   }
+  if (aIID.Equals(NS_GET_IID(nsILineIterator))) {
+    *aInstancePtr = static_cast<nsILineIterator*>(this);
+    return NS_OK;
+  }
 
   return nsHTMLContainerFrame::QueryInterface(aIID, aInstancePtr);
 }
 
 /* virtual */ PRBool
 nsTableRowGroupFrame::IsContainingBlock() const
 {
   return PR_TRUE;
--- a/layout/xul/base/src/nsMenuBarListener.cpp
+++ b/layout/xul/base/src/nsMenuBarListener.cpp
@@ -63,21 +63,17 @@
 #include "nsContentUtils.h"
 
 /*
  * nsMenuBarListener implementation
  */
 
 NS_IMPL_ADDREF(nsMenuBarListener)
 NS_IMPL_RELEASE(nsMenuBarListener)
-NS_IMPL_QUERY_INTERFACE4(nsMenuBarListener,
-                         nsIDOMKeyListener,
-                         nsIDOMFocusListener,
-                         nsIDOMEventListener,
-                         nsIDOMMouseListener)
+NS_IMPL_QUERY_INTERFACE3(nsMenuBarListener, nsIDOMKeyListener, nsIDOMFocusListener, nsIDOMMouseListener)
 
 #define MODIFIER_SHIFT    1
 #define MODIFIER_CONTROL  2
 #define MODIFIER_ALT      4
 #define MODIFIER_META     8
 
 ////////////////////////////////////////////////////////////////////////
 
--- a/layout/xul/base/src/nsSliderFrame.cpp
+++ b/layout/xul/base/src/nsSliderFrame.cpp
@@ -1140,11 +1140,9 @@ void nsSliderFrame::Notify(void)
 
     if (stop) {
       StopRepeat();
     } else {
       PageUpDown(mChange);
     }
 }
 
-NS_IMPL_ISUPPORTS2(nsSliderMediator,
-                   nsIDOMMouseListener,
-                   nsIDOMEventListener)
+NS_IMPL_ISUPPORTS1(nsSliderMediator, nsIDOMMouseListener)
--- a/layout/xul/base/src/nsXULPopupManager.cpp
+++ b/layout/xul/base/src/nsXULPopupManager.cpp
@@ -118,22 +118,18 @@ void nsMenuChainItem::Detach(nsMenuChain
     // An item without a child should be the first item in the chain, so set
     // the first item pointer, pointed to by aRoot, to the parent.
     NS_ASSERTION(this == *aRoot, "Unexpected - popup with no child not at end of chain");
     *aRoot = mParent;
     SetParent(nsnull);
   }
 }
 
-NS_IMPL_ISUPPORTS5(nsXULPopupManager,
-                   nsIDOMKeyListener,
-                   nsIDOMEventListener,
-                   nsIMenuRollup,
-                   nsIRollupListener,
-                   nsITimerCallback)
+NS_IMPL_ISUPPORTS4(nsXULPopupManager, nsIDOMKeyListener,
+                   nsIMenuRollup, nsIRollupListener, nsITimerCallback)
 
 nsXULPopupManager::nsXULPopupManager() :
   mRangeOffset(0),
   mActiveMenuBar(nsnull),
   mCurrentMenu(nsnull),
   mPanels(nsnull),
   mTimerMenu(nsnull)
 {
--- a/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ b/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -1647,17 +1647,20 @@ nsPluginCacheListener::nsPluginCacheList
 ////////////////////////////////////////////////////////////////////////
 nsPluginCacheListener::~nsPluginCacheListener()
 {
   NS_IF_RELEASE(mListener);
 }
 
 
 ////////////////////////////////////////////////////////////////////////
-NS_IMPL_ISUPPORTS1(nsPluginCacheListener, nsIStreamListener)
+NS_IMPL_ISUPPORTS2(nsPluginCacheListener,
+                   nsIStreamListener,
+                   nsIRequestObserver)
+
 ////////////////////////////////////////////////////////////////////////
 NS_IMETHODIMP
 nsPluginCacheListener::OnStartRequest(nsIRequest *request, nsISupports* ctxt)
 {
   return NS_OK;
 }
 
 
@@ -2702,20 +2705,21 @@ nsPluginHostImpl::~nsPluginHostImpl()
 {
   PLUGIN_LOG(PLUGIN_LOG_ALWAYS,("nsPluginHostImpl::dtor\n"));
 
   Destroy();
   sInst = nsnull;
 }
 
 ////////////////////////////////////////////////////////////////////////
-NS_IMPL_ISUPPORTS8(nsPluginHostImpl,
+NS_IMPL_ISUPPORTS9(nsPluginHostImpl,
                    nsIPluginManager,
                    nsIPluginManager2,
                    nsIPluginHost,
+                   nsIFactory,
                    nsIFileUtilities,
                    nsICookieStorage,
                    nsIObserver,
                    nsPIPluginHost,
                    nsISupportsWeakReference)
 ////////////////////////////////////////////////////////////////////////
 nsPluginHostImpl*
 nsPluginHostImpl::GetInst()
@@ -7073,17 +7077,20 @@ nsresult nsPluginStreamListenerPeer::Ser
 
   // unset mPendingRequests
   mPendingRequests = 0;
 
   return NS_OK;
 }
 
 //////////////////////////////////////////////////////////////////////
-NS_IMPL_ISUPPORTS1(nsPluginByteRangeStreamListener, nsIStreamListener)
+NS_IMPL_ISUPPORTS2(nsPluginByteRangeStreamListener,
+                   nsIStreamListener,
+                   nsIRequestObserver)
+
 nsPluginByteRangeStreamListener::nsPluginByteRangeStreamListener(nsIWeakReference* aWeakPtr)
 {
   mWeakPtrPluginStreamListenerPeer = aWeakPtr;
   mRemoveMagicNumber = PR_FALSE;
 }
 
 nsPluginByteRangeStreamListener::~nsPluginByteRangeStreamListener()
 {
--- a/netwerk/streamconv/converters/mozTXTToHTMLConv.cpp
+++ b/netwerk/streamconv/converters/mozTXTToHTMLConv.cpp
@@ -1007,21 +1007,17 @@ mozTXTToHTMLConv::GlyphHit(const PRUnich
 mozTXTToHTMLConv::mozTXTToHTMLConv()
 {
 }
 
 mozTXTToHTMLConv::~mozTXTToHTMLConv() 
 {
 }
 
-NS_IMPL_ISUPPORTS4(mozTXTToHTMLConv,
-                   mozITXTToHTMLConv,
-                   nsIStreamConverter,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS1(mozTXTToHTMLConv, mozITXTToHTMLConv)
 
 PRInt32
 mozTXTToHTMLConv::CiteLevelTXT(const PRUnichar *line,
 				    PRUint32& logLineStart)
 {
   PRInt32 result = 0;
   PRInt32 lineLength = nsCRT::strlen(line);
 
--- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
+++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
@@ -45,20 +45,17 @@
 #include "nsCOMPtr.h"
 #include "nsReadableUtils.h"
 #include "nsNetError.h"
 #include "nsStreamUtils.h"
 #include "nsStringStream.h"
 #include "nsComponentManagerUtils.h"
 
 // nsISupports implementation
-NS_IMPL_ISUPPORTS3(nsHTTPCompressConv,
-                   nsIStreamConverter,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS2(nsHTTPCompressConv, nsIStreamConverter, nsIStreamListener)
 
 // nsFTPDirListingConv methods
 nsHTTPCompressConv::nsHTTPCompressConv()
     : mListener(nsnull)
     , mMode(HTTP_COMPRESS_IDENTITY)
     , mOutBuffer(NULL)
     , mInpBuffer(NULL)
     , mOutBufferLen(0)
--- a/netwerk/streamconv/test/Converters.cpp
+++ b/netwerk/streamconv/test/Converters.cpp
@@ -4,20 +4,17 @@
 #include "nsComponentManagerUtils.h"
 
 #include <stdio.h>
 
 //////////////////////////////////////////////////
 // TestConverter
 //////////////////////////////////////////////////
 
-NS_IMPL_ISUPPORTS3(TestConverter,
-                   nsIStreamConverter,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS2(TestConverter, nsIStreamConverter, nsIStreamListener)
 
 TestConverter::TestConverter() {
 }
 
 // Convert aFromStream (of type aFromType), to _retval (nsIInputStream of type aToType).
 // This Convert method simply converts the stream byte-by-byte, to the first character
 // in the aToType "string".
 NS_IMETHODIMP
--- a/netwerk/streamconv/test/TestStreamConv.cpp
+++ b/netwerk/streamconv/test/TestStreamConv.cpp
@@ -111,20 +111,17 @@ public:
 
     // nsIRequestObserver methods
     NS_IMETHOD OnStartRequest(nsIRequest* request, nsISupports *ctxt) { return NS_OK; }
 
     NS_IMETHOD OnStopRequest(nsIRequest* request, nsISupports *ctxt, 
                              nsresult aStatus) { return NS_OK; }
 };
 
-NS_IMPL_ISUPPORTS2(EndListener,
-                   nsIStreamListener,
-                   nsIRequestObserver)
-
+NS_IMPL_ISUPPORTS1(EndListener, nsIStreamListener)
 ////////////////////////////////////////////////////////////////////////
 // EndListener END
 ////////////////////////////////////////////////////////////////////////
 
 
 nsresult SendData(const char * aData, nsIStreamListener* aListener, nsIRequest* request) {
     nsresult rv;
 
--- a/netwerk/test/TestUpload.cpp
+++ b/netwerk/test/TestUpload.cpp
@@ -77,19 +77,17 @@ public:
 InputTestConsumer::InputTestConsumer()
 {
 }
 
 InputTestConsumer::~InputTestConsumer()
 {
 }
 
-NS_IMPL_ISUPPORTS2(InputTestConsumer,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS1(InputTestConsumer, nsIStreamListener)
 
 NS_IMETHODIMP
 InputTestConsumer::OnStartRequest(nsIRequest *request, nsISupports* context)
 {
   LOG(("InputTestConsumer::OnStartRequest\n"));
   return NS_OK;
 }
 
--- a/parser/htmlparser/tests/grabpage/grabpage.cpp
+++ b/parser/htmlparser/tests/grabpage/grabpage.cpp
@@ -92,19 +92,17 @@ protected:
 
 StreamToFile::StreamToFile(FILE* fp)
 {
   mDone = PR_FALSE;
   mError = PR_FALSE;
   mFile = fp;
 }
 
-NS_IMPL_ISUPPORTS2(StreamToFile,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS1(StreamToFile, nsIStreamListener)
 
 StreamToFile::~StreamToFile()
 {
   if (nsnull != mFile) {
     fclose(mFile);
   }
 }
 
--- a/plugin/oji/MRJ/plugin/Source/BackwardAdapter.cpp
+++ b/plugin/oji/MRJ/plugin/Source/BackwardAdapter.cpp
@@ -2499,19 +2499,17 @@ CPluginInputStream::~CPluginInputStream(
 {
 	NS_IF_RELEASE(mListener);
 
     delete mBuffer;
     
     NS_IF_RELEASE(mStreamInfo);
 }
 
-NS_IMPL_ISUPPORTS2(CPluginInputStream,
-                   nsIPluginInputStream,
-                   nsIInputStream)
+NS_IMPL_ISUPPORTS1(CPluginInputStream, nsIPluginInputStream)
 
 NS_METHOD
 CPluginInputStream::Close(void)
 {
     if (mNPP == NULL || mStream == NULL)
         return NS_ERROR_FAILURE;
     NPError err = NPN_DestroyStream(mNPP, mStream, NPRES_USER_BREAK);
     return fromNPError[err];
--- a/toolkit/components/places/src/nsFaviconService.cpp
+++ b/toolkit/components/places/src/nsFaviconService.cpp
@@ -853,20 +853,19 @@ nsFaviconService::OptimizeFaviconImage(c
   // Read the stream into a new buffer.
   rv = NS_ConsumeStream(iconStream, PR_UINT32_MAX, aNewData);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return NS_OK;
 }
 
 
-NS_IMPL_ISUPPORTS5(FaviconLoadListener,
+NS_IMPL_ISUPPORTS4(FaviconLoadListener,
                    nsIRequestObserver,
                    nsIStreamListener,
-                   nsIRequestObserver,
                    nsIInterfaceRequestor,
                    nsIChannelEventSink)
 
 // FaviconLoadListener::FaviconLoadListener
 
 FaviconLoadListener::FaviconLoadListener(nsFaviconService* aFaviconService,
                                          nsIURI* aPageURI, nsIURI* aFaviconURI,
                                          nsIChannel* aChannel) :
--- a/xpcom/base/nsExceptionService.cpp
+++ b/xpcom/base/nsExceptionService.cpp
@@ -144,20 +144,17 @@ NS_IMETHODIMP nsExceptionManager::GetExc
 PRUintn nsExceptionService::tlsIndex = BAD_TLS_INDEX;
 PRLock *nsExceptionService::lock = nsnull;
 nsExceptionManager *nsExceptionService::firstThread = nsnull;
 
 #ifdef NS_DEBUG
 PRInt32 nsExceptionService::totalInstances = 0;
 #endif
 
-NS_IMPL_THREADSAFE_ISUPPORTS3(nsExceptionService,
-                              nsIExceptionService,
-                              nsIExceptionManager,
-                              nsIObserver)
+NS_IMPL_THREADSAFE_ISUPPORTS2(nsExceptionService, nsIExceptionService, nsIObserver)
 
 nsExceptionService::nsExceptionService()
   : mProviders(4, PR_TRUE) /* small, thread-safe hashtable */
 {
 #ifdef NS_DEBUG
   if (PR_AtomicIncrement(&totalInstances)!=1) {
     NS_ERROR("The nsExceptionService is a singleton!");
   }
--- a/xpcom/glue/nsISupportsImpl.h
+++ b/xpcom/glue/nsISupportsImpl.h
@@ -911,31 +911,16 @@ NS_IMETHODIMP_(nsrefcnt) Class::Release(
     NS_INTERFACE_TABLE_ENTRY(Class, i4)                                       \
     NS_INTERFACE_TABLE_ENTRY(Class, i5)                                       \
     NS_INTERFACE_TABLE_ENTRY(Class, i6)                                       \
     NS_INTERFACE_TABLE_ENTRY(Class, i7)                                       \
     NS_INTERFACE_TABLE_ENTRY(Class, i8)                                       \
     NS_INTERFACE_TABLE_ENTRY(Class, i9)                                       \
   NS_INTERFACE_TABLE_END
 
-#define NS_INTERFACE_TABLE_INHERITED10(Class, i1, i2, i3, i4, i5, i6, i7,     \
-                                       i8, i9, i10)                           \
-  NS_INTERFACE_TABLE_BEGIN                                                    \
-    NS_INTERFACE_TABLE_ENTRY(Class, i1)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i2)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i3)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i4)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i5)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i6)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i7)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i8)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i9)                                       \
-    NS_INTERFACE_TABLE_ENTRY(Class, i10)                                      \
-  NS_INTERFACE_TABLE_END
-
 #define NS_IMPL_QUERY_INTERFACE_INHERITED0(Class, Super)                      \
   NS_INTERFACE_TABLE_HEAD(Class)                                              \
   NS_INTERFACE_TABLE_INHERITED0(Class)                                        \
   NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
 
 #define NS_IMPL_QUERY_INTERFACE_INHERITED1(Class, Super, i1)                  \
   NS_INTERFACE_TABLE_HEAD(Class)                                              \
   NS_INTERFACE_TABLE_INHERITED1(Class, i1)                                    \
--- a/xpfe/components/related/src/nsRelatedLinksHandler.cpp
+++ b/xpfe/components/related/src/nsRelatedLinksHandler.cpp
@@ -242,19 +242,19 @@ RelatedLinksStreamListener::Init()
 
 	 mParentArray.AppendElement(kNC_RelatedLinksRoot);
 	 return(NS_OK);
 }
 
 
 
 // nsISupports interface
-NS_IMPL_ISUPPORTS2(RelatedLinksStreamListener,
-                   nsIStreamListener,
-                   nsIRequestObserver)
+NS_IMPL_ISUPPORTS1(RelatedLinksStreamListener, nsIStreamListener)
+
+
 
 // stream observer methods
 
 
 
 NS_IMETHODIMP
 RelatedLinksStreamListener::OnStartRequest(nsIRequest *request, nsISupports *ctxt)
 {
--- a/xpinstall/src/nsXPInstallManager.cpp
+++ b/xpinstall/src/nsXPInstallManager.cpp
@@ -117,17 +117,16 @@ nsXPInstallManager::~nsXPInstallManager(
 }
 
 
 NS_INTERFACE_MAP_BEGIN(nsXPInstallManager)
   NS_INTERFACE_MAP_ENTRY(nsIXPIDialogService)
   NS_INTERFACE_MAP_ENTRY(nsIXPInstallManager)
   NS_INTERFACE_MAP_ENTRY(nsIObserver)
   NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
-  NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
   NS_INTERFACE_MAP_ENTRY(nsIProgressEventSink)
   NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
   NS_INTERFACE_MAP_ENTRY(nsPICertNotification)
   NS_INTERFACE_MAP_ENTRY(nsIBadCertListener2)
   NS_INTERFACE_MAP_ENTRY(nsISSLErrorListener)
   NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
   NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsISupportsWeakReference)