Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

Commit

Permalink
Merge backout of changeset ca80d75dbcb1 (which was a backout of bug 7…
Browse files Browse the repository at this point in the history
…34019) in an attempt to fix bug 734019. a=akeybl
  • Loading branch information
bzbarsky committed Apr 17, 2012
2 parents 458db58 + 99c32a5 commit 7f98143
Show file tree
Hide file tree
Showing 132 changed files with 458 additions and 629 deletions.
186 changes: 74 additions & 112 deletions content/base/src/nsGenericElement.cpp

Large diffs are not rendered by default.

92 changes: 2 additions & 90 deletions content/base/src/nsGenericElement.h
Expand Up @@ -49,7 +49,6 @@
#include "mozilla/dom/Element.h" #include "mozilla/dom/Element.h"
#include "nsIDOMElement.h" #include "nsIDOMElement.h"
#include "nsIDOMDocumentFragment.h" #include "nsIDOMDocumentFragment.h"
#include "nsIDOMNSElement.h"
#include "nsILinkHandler.h" #include "nsILinkHandler.h"
#include "nsNodeUtils.h" #include "nsNodeUtils.h"
#include "nsAttrAndChildArray.h" #include "nsAttrAndChildArray.h"
Expand Down Expand Up @@ -228,7 +227,6 @@ class nsNodeSelectorTearoff : public nsIDOMNodeSelector
}; };


// Forward declare to allow being a friend // Forward declare to allow being a friend
class nsNSElementTearoff;
class nsTouchEventReceiverTearoff; class nsTouchEventReceiverTearoff;
class nsInlineEventHandlersTearoff; class nsInlineEventHandlersTearoff;


Expand All @@ -242,7 +240,6 @@ class nsGenericElement : public mozilla::dom::Element
nsGenericElement(already_AddRefed<nsINodeInfo> aNodeInfo); nsGenericElement(already_AddRefed<nsINodeInfo> aNodeInfo);
virtual ~nsGenericElement(); virtual ~nsGenericElement();


friend class nsNSElementTearoff;
friend class nsTouchEventReceiverTearoff; friend class nsTouchEventReceiverTearoff;
friend class nsInlineEventHandlersTearoff; friend class nsInlineEventHandlersTearoff;


Expand Down Expand Up @@ -435,37 +432,8 @@ class nsGenericElement : public mozilla::dom::Element
} }


// nsIDOMElement method implementation // nsIDOMElement method implementation
NS_IMETHOD GetTagName(nsAString& aTagName); NS_DECL_NSIDOMELEMENT
NS_IMETHOD GetAttribute(const nsAString& aName,
nsAString& aReturn);
NS_IMETHOD SetAttribute(const nsAString& aName,
const nsAString& aValue);
NS_IMETHOD RemoveAttribute(const nsAString& aName);
NS_IMETHOD GetAttributeNode(const nsAString& aName,
nsIDOMAttr** aReturn);
NS_IMETHOD SetAttributeNode(nsIDOMAttr* aNewAttr, nsIDOMAttr** aReturn);
NS_IMETHOD RemoveAttributeNode(nsIDOMAttr* aOldAttr, nsIDOMAttr** aReturn);
NS_IMETHOD GetElementsByTagName(const nsAString& aTagname,
nsIDOMNodeList** aReturn);
NS_IMETHOD GetAttributeNS(const nsAString& aNamespaceURI,
const nsAString& aLocalName,
nsAString& aReturn);
NS_IMETHOD SetAttributeNS(const nsAString& aNamespaceURI,
const nsAString& aQualifiedName,
const nsAString& aValue);
NS_IMETHOD RemoveAttributeNS(const nsAString& aNamespaceURI,
const nsAString& aLocalName);
NS_IMETHOD GetAttributeNodeNS(const nsAString& aNamespaceURI,
const nsAString& aLocalName,
nsIDOMAttr** aReturn);
NS_IMETHOD SetAttributeNodeNS(nsIDOMAttr* aNewAttr, nsIDOMAttr** aReturn);
NS_IMETHOD GetElementsByTagNameNS(const nsAString& aNamespaceURI,
const nsAString& aLocalName,
nsIDOMNodeList** aReturn);
NS_IMETHOD HasAttribute(const nsAString& aName, bool* aReturn);
NS_IMETHOD HasAttributeNS(const nsAString& aNamespaceURI,
const nsAString& aLocalName,
bool* aReturn);
nsresult CloneNode(bool aDeep, nsIDOMNode **aResult) nsresult CloneNode(bool aDeep, nsIDOMNode **aResult)
{ {
return nsNodeUtils::CloneNodeImpl(this, aDeep, true, aResult); return nsNodeUtils::CloneNodeImpl(this, aDeep, true, aResult);
Expand Down Expand Up @@ -597,15 +565,8 @@ class nsGenericElement : public mozilla::dom::Element
{ {
} }


// nsIDOMNSElement methods
nsresult GetElementsByClassName(const nsAString& aClasses,
nsIDOMNodeList** aReturn);
nsresult GetClientRects(nsIDOMClientRectList** aResult);
nsresult GetBoundingClientRect(nsIDOMClientRect** aResult);
PRInt32 GetScrollTop(); PRInt32 GetScrollTop();
void SetScrollTop(PRInt32 aScrollTop);
PRInt32 GetScrollLeft(); PRInt32 GetScrollLeft();
void SetScrollLeft(PRInt32 aScrollLeft);
PRInt32 GetScrollHeight(); PRInt32 GetScrollHeight();
PRInt32 GetScrollWidth(); PRInt32 GetScrollWidth();
PRInt32 GetClientTop() PRInt32 GetClientTop()
Expand All @@ -628,35 +589,7 @@ class nsGenericElement : public mozilla::dom::Element
nsIContent* GetLastElementChild(); nsIContent* GetLastElementChild();
nsIContent* GetPreviousElementSibling(); nsIContent* GetPreviousElementSibling();
nsIContent* GetNextElementSibling(); nsIContent* GetNextElementSibling();
nsresult GetChildElementCount(PRUint32* aResult)
{
nsContentList* list = GetChildrenList();
if (!list) {
*aResult = 0;

return NS_ERROR_OUT_OF_MEMORY;
}

*aResult = list->Length(true);

return NS_OK;
}
nsresult GetChildren(nsIDOMNodeList** aResult)
{
nsContentList* list = GetChildrenList();
if (!list) {
*aResult = nsnull;

return NS_ERROR_OUT_OF_MEMORY;
}

NS_ADDREF(*aResult = list);

return NS_OK;
}
nsIDOMDOMTokenList* GetClassList(nsresult *aResult); nsIDOMDOMTokenList* GetClassList(nsresult *aResult);
void SetCapture(bool aRetargetToElement);
void ReleaseCapture();
bool MozMatchesSelector(const nsAString& aSelector, nsresult* aResult); bool MozMatchesSelector(const nsAString& aSelector, nsresult* aResult);


/** /**
Expand Down Expand Up @@ -1066,27 +999,6 @@ _elementName::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const \
NS_GetDOMClassInfoInstance(eDOMClassInfo_##_interface##_id)); \ NS_GetDOMClassInfoInstance(eDOMClassInfo_##_interface##_id)); \
} }


/**
* Yet another tearoff class for nsGenericElement
* to implement additional interfaces
*/
class nsNSElementTearoff : public nsIDOMNSElement
{
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS

NS_DECL_NSIDOMNSELEMENT

NS_DECL_CYCLE_COLLECTION_CLASS(nsNSElementTearoff)

nsNSElementTearoff(nsGenericElement *aContent) : mContent(aContent)
{
}

private:
nsRefPtr<nsGenericElement> mContent;
};

/** /**
* Tearoff class to implement nsITouchEventReceiver * Tearoff class to implement nsITouchEventReceiver
*/ */
Expand Down
3 changes: 1 addition & 2 deletions content/html/content/test/test_bug389797.html
Expand Up @@ -31,8 +31,7 @@
allTags.push(aTagName); allTags.push(aTagName);
classInfos[aTagName] = aImplClass; classInfos[aTagName] = aImplClass;
interfaces[aTagName] = interfaces[aTagName] =
[ "nsIDOMNSElement", [ "nsIDOMEventTarget",
"nsIDOMEventTarget",
"nsIDOMElementCSSInlineStyle", "nsIDOMElementCSSInlineStyle",
"nsIDOMNodeSelector", "nsIDOMNodeSelector",
"nsITouchEventReceiver", "nsITouchEventReceiver",
Expand Down
6 changes: 0 additions & 6 deletions dom/base/nsDOMClassInfo.cpp
Expand Up @@ -145,7 +145,6 @@
#include "nsIDOMDOMStringList.h" #include "nsIDOMDOMStringList.h"
#include "nsIDOMDOMTokenList.h" #include "nsIDOMDOMTokenList.h"
#include "nsIDOMDOMSettableTokenList.h" #include "nsIDOMDOMSettableTokenList.h"
#include "nsIDOMNSElement.h"


#include "nsDOMStringMap.h" #include "nsDOMStringMap.h"


Expand Down Expand Up @@ -2327,7 +2326,6 @@ nsDOMClassInfo::RegisterExternalClasses()
#define DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES \ #define DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMElementCSSInlineStyle) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMElementCSSInlineStyle) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSElement) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) \
DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) \ DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) \
DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsITouchEventReceiver, \ DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsITouchEventReceiver, \
Expand Down Expand Up @@ -2509,7 +2507,6 @@ nsDOMClassInfo::Init()


DOM_CLASSINFO_MAP_BEGIN(Element, nsIDOMElement) DOM_CLASSINFO_MAP_BEGIN(Element, nsIDOMElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector)
DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers)
Expand Down Expand Up @@ -3043,7 +3040,6 @@ nsDOMClassInfo::Init()
DOM_CLASSINFO_MAP_BEGIN(XULElement, nsIDOMXULElement) DOM_CLASSINFO_MAP_BEGIN(XULElement, nsIDOMXULElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMXULElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMXULElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMElementCSSInlineStyle) DOM_CLASSINFO_MAP_ENTRY(nsIDOMElementCSSInlineStyle)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector)
DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers)
Expand Down Expand Up @@ -3147,7 +3143,6 @@ nsDOMClassInfo::Init()
#define DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES \ #define DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGElement) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGElement) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSElement) \
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) \
DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) \ DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) \
DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsITouchEventReceiver, \ DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsITouchEventReceiver, \
Expand Down Expand Up @@ -4141,7 +4136,6 @@ nsDOMClassInfo::Init()


DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(MathMLElement, nsIDOMElement) DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(MathMLElement, nsIDOMElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSElement)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector) DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector)
DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers) DOM_CLASSINFO_MAP_ENTRY(nsIInlineEventHandlers)
Expand Down
1 change: 0 additions & 1 deletion dom/interfaces/base/domstubs.idl
Expand Up @@ -58,7 +58,6 @@ interface nsIDOMDocument;
interface nsIDOMDocumentFragment; interface nsIDOMDocumentFragment;
interface nsIDOMDocumentType; interface nsIDOMDocumentType;
interface nsIDOMElement; interface nsIDOMElement;
interface nsIDOMNSElement;
interface nsIDOMNamedNodeMap; interface nsIDOMNamedNodeMap;
interface nsIDOMNode; interface nsIDOMNode;
interface nsIDOMNodeList; interface nsIDOMNodeList;
Expand Down
1 change: 0 additions & 1 deletion dom/interfaces/core/Makefile.in
Expand Up @@ -68,7 +68,6 @@ XPIDLSRCS = \
nsIDOMXMLDocument.idl \ nsIDOMXMLDocument.idl \
nsIDOMUserDataHandler.idl \ nsIDOMUserDataHandler.idl \
nsIDOMNSEditableElement.idl \ nsIDOMNSEditableElement.idl \
nsIDOMNSElement.idl \
nsIDOMNodeSelector.idl \ nsIDOMNodeSelector.idl \
nsIDOMDOMTokenList.idl \ nsIDOMDOMTokenList.idl \
nsIDOMDOMSettableTokenList.idl \ nsIDOMDOMSettableTokenList.idl \
Expand Down

0 comments on commit 7f98143

Please sign in to comment.