aboutsummaryrefslogtreecommitdiff
path: root/www/waterfox/files/patch-bug1444231
blob: e35a39d78b0559860b65189a32620f763e31ed93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
commit 62d7770e2c7c
Author: Boris Zbarsky <bzbarsky@mit.edu>
Date:   Tue Mar 13 00:59:23 2018 -0400

    Bug 1444231 - Fix QI implementation for FragmentOrElement. r=mccr8 a=jcristau
    
    MozReview-Commit-ID: 9mPO2ezk2Y7
    
    --HG--
    extra : rebase_source : 1b15f9dac21206fbefeb9a6b72f3c54ff4d74537
    extra : source : 060024fa93121d878d27f329c959757e6f71017a
---
 dom/base/Element.cpp           | 6 ++++++
 dom/base/FragmentOrElement.cpp | 1 -
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git dom/base/Element.cpp dom/base/Element.cpp
index 5f694b4b4ccd..26c7fbb6feef 100644
--- dom/base/Element.cpp
+++ dom/base/Element.cpp
@@ -214,6 +214,12 @@ Element::GetSVGAnimatedClass() const
 NS_IMETHODIMP
 Element::QueryInterface(REFNSIID aIID, void** aInstancePtr)
 {
+  if (aIID.Equals(NS_GET_IID(Element))) {
+    NS_ADDREF_THIS();
+    *aInstancePtr = this;
+    return NS_OK;
+  }
+
   NS_ASSERTION(aInstancePtr,
                "QueryInterface requires a non-NULL destination!");
   nsresult rv = FragmentOrElement::QueryInterface(aIID, aInstancePtr);
diff --git dom/base/FragmentOrElement.cpp dom/base/FragmentOrElement.cpp
index 8c23d2de91f0..4b48fde78058 100644
--- dom/base/FragmentOrElement.cpp
+++ dom/base/FragmentOrElement.cpp
@@ -2093,7 +2093,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 NS_INTERFACE_MAP_BEGIN(FragmentOrElement)
   NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
   NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(FragmentOrElement)
-  NS_INTERFACE_MAP_ENTRY(Element)
   NS_INTERFACE_MAP_ENTRY(nsIContent)
   NS_INTERFACE_MAP_ENTRY(nsINode)
   NS_INTERFACE_MAP_ENTRY(nsIDOMEventTarget)