Bug 1312936 - Part 1. Use ACString for nsITranserable.getAnyTransferData. r?masayuki draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Wed, 26 Oct 2016 11:07:16 +0900
changeset 429571 2db81f4c18e708a5c35f0430c7777e2760242585
parent 429408 b1b18f25c0ea69d9ee57c4198d577dfcd0129ce1
child 429572 b4cd44a7ed83900fc4a72170be340c47a6bfbe80
push id33600
push userm_kato@ga2.so-net.ne.jp
push dateWed, 26 Oct 2016 03:21:26 +0000
reviewersmasayuki
bugs1312936
milestone52.0a1
Bug 1312936 - Part 1. Use ACString for nsITranserable.getAnyTransferData. r?masayuki MozReview-Commit-ID: L8eWccMBtVj
widget/nsITransferable.idl
widget/nsTransferable.cpp
--- a/widget/nsITransferable.idl
+++ b/widget/nsITransferable.idl
@@ -137,17 +137,18 @@ interface nsITransferable : nsISupports
   /**
     * Returns the best flavor in the transferable, given those that have
     * been added to it with |AddFlavor()|
     *
     * @param  aFlavor (out parameter) the flavor of data that was retrieved
     * @param  aData the data. Some variant of class in nsISupportsPrimitives.idl
     * @param  aDataLen the length of the data
     */
-  void getAnyTransferData ( out string aFlavor, out nsISupports aData, out unsigned long aDataLen ) ;
+  void getAnyTransferData ( out ACString aFlavor, out nsISupports aData,
+                            out unsigned long aDataLen ) ;
 
   /**
     * Returns true if the data is large.
     */
   boolean isLargeDataSet ( ) ;
   
 
     ///////////////////////////////
--- a/widget/nsTransferable.cpp
+++ b/widget/nsTransferable.cpp
@@ -368,26 +368,27 @@ nsTransferable::GetTransferData(const ch
 
 //
 // GetAnyTransferData
 //
 // Returns the data of the first flavor found. Caller is responsible for deleting the
 // flavor string.
 //
 NS_IMETHODIMP
-nsTransferable::GetAnyTransferData(char **aFlavor, nsISupports **aData, uint32_t *aDataLen)
+nsTransferable::GetAnyTransferData(nsACString& aFlavor, nsISupports **aData,
+                                   uint32_t *aDataLen)
 {
   MOZ_ASSERT(mInitialized);
 
-  NS_ENSURE_ARG_POINTER(aFlavor && aData && aDataLen);
+  NS_ENSURE_ARG_POINTER(aData && aDataLen);
 
   for (size_t i = 0; i < mDataArray.Length(); ++i) {
     DataStruct& data = mDataArray.ElementAt(i);
     if (data.IsDataAvailable()) {
-      *aFlavor = ToNewCString(data.GetFlavor());
+      aFlavor.Assign(data.GetFlavor());
       data.GetData(aData, aDataLen);
       return NS_OK;
     }
   }
 
   return NS_ERROR_FAILURE;
 }