Index: public/web/WebNode.h |
diff --git a/public/web/WebNode.h b/public/web/WebNode.h |
index 785514fce17a5be10f7d5d730c328e91722d120d..ba967ff76021db935fd113421c82374c7960c065 100644 |
--- a/public/web/WebNode.h |
+++ b/public/web/WebNode.h |
@@ -144,6 +144,18 @@ public: |
WebNode(const PassRefPtrWillBeRawPtr<WebCore::Node>&); |
WebNode& operator=(const PassRefPtrWillBeRawPtr<WebCore::Node>&); |
operator PassRefPtrWillBeRawPtr<WebCore::Node>() const; |
+#if ENABLE(OILPAN) |
+ // This constructor enables creation of WebNodes from Members |
+ // holding WebCore::Node-derived objects (this shows up in WebVector |
+ // assignments, for instance.) It is needed because a RawPtr<T> constructor |
+ // from a Member<U> isn't provided, hence the above constructor |
+ // won't be usable. |
+ template<typename U> |
+ WebNode(const WebCore::Member<U>& other, EnsurePtrConvertibleArgDecl(U, WebCore::Node)) |
+ : m_private(other.get()) |
+ { |
+ } |
+#endif |
#endif |
#if BLINK_IMPLEMENTATION |