Bug 1267918 - Add do_AddRef(const RefPtr<T>& aObj). r=froydnj draft
authorChris Pearce <cpearce@mozilla.com>
Thu, 30 Jun 2016 10:06:10 +1200
changeset 383034 ffa1bfaf23398aee04d8d46848f4576893c5dd95
parent 382798 82e1f1b9c0559f38a8460e2f2f3044de4c7712d6
child 383035 e67160643c724bf1f90cd62843cbb76de65a989f
push id21909
push usercpearce@mozilla.com
push dateFri, 01 Jul 2016 03:07:19 +0000
reviewersfroydnj
bugs1267918
milestone50.0a1
Bug 1267918 - Add do_AddRef(const RefPtr<T>& aObj). r=froydnj This means we can return already_AddRefed<T> for any RefPtr<T>s being held as instance variables easier. MozReview-Commit-ID: HFHdkF8EUsK
mfbt/RefPtr.h
--- a/mfbt/RefPtr.h
+++ b/mfbt/RefPtr.h
@@ -597,16 +597,24 @@ operator!=(decltype(nullptr), const RefP
 template <class T>
 inline already_AddRefed<T>
 do_AddRef(T* aObj)
 {
   RefPtr<T> ref(aObj);
   return ref.forget();
 }
 
+template <class T>
+inline already_AddRefed<T>
+do_AddRef(const RefPtr<T>& aObj)
+{
+  RefPtr<T> ref(aObj);
+  return ref.forget();
+}
+
 namespace mozilla {
 
 /**
  * Helper function to be able to conveniently write things like:
  *
  *   already_AddRefed<T>
  *   f(...)
  *   {