Bug 1344133 - Add simple replace for nsCOMArray. r=bholley draft
authorXidorn Quan <me@upsuper.org>
Fri, 03 Mar 2017 17:22:15 +1100
changeset 493039 8e173e94239145c991c7e86d17ceadd9bb34eef0
parent 493006 30d47e2350ed863507302b6765c0e4b3937a182f
child 547750 8105722a7665755db893fd64cefed9032a838107
push id47637
push userxquan@mozilla.com
push dateFri, 03 Mar 2017 06:32:10 +0000
reviewersbholley
bugs1344133
milestone54.0a1
Bug 1344133 - Add simple replace for nsCOMArray. r=bholley MozReview-Commit-ID: 7zTi45CeWBC
layout/style/nsStyleStruct.h
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -4072,9 +4072,26 @@ public:
 
 STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsTArray<nsStyleImageLayers::Layer>,
                                  nsTArray_Simple<nsStyleImageLayers::Layer>);
 STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsTArray<mozilla::StyleTransition>,
                                  nsTArray_Simple<mozilla::StyleTransition>);
 STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsTArray<mozilla::StyleAnimation>,
                                  nsTArray_Simple<mozilla::StyleAnimation>);
 
+/**
+ * <div rustbindgen replaces="nsCOMArray"></div>
+ *
+ * mozilla::ArrayIterator doesn't work well with bindgen.
+ */
+template<typename T>
+class nsCOMArray_Simple {
+  nsTArray<nsISupports*> mBuffer;
+};
+
+STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsCOMArray<nsIContent>,
+                                 nsCOMArray_Simple<nsIContent>);
+STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsCOMArray<nsINode>,
+                                 nsCOMArray_Simple<nsINode>);
+STATIC_ASSERT_TYPE_LAYOUTS_MATCH(nsCOMArray<imgIContainer>,
+                                 nsCOMArray_Simple<imgIContainer>);
+
 #endif /* nsStyleStruct_h___ */