diff -r ac0c01689b40 -r deefc01c0e14 widget/xpwidgets/nsTransferable.cpp --- a/widget/xpwidgets/nsTransferable.cpp Thu Jan 15 15:59:08 2015 +0100 +++ b/widget/xpwidgets/nsTransferable.cpp Thu Jan 15 21:03:48 2015 +0100 @@ -55,8 +55,6 @@ } //------------------------------------------------------------------------- -// The SetData method is overloaded to indicate private browsing mode -// while achieving some semblance of (private) interface compatibility. //------------------------------------------------------------------------- void DataStruct::SetData ( nsISupports* aData, uint32_t aDataLen, bool aIsPrivBrowsing ) @@ -78,24 +76,6 @@ //------------------------------------------------------------------------- void -DataStruct::SetData ( nsISupports* aData, uint32_t aDataLen ) -{ - // Now, check to see if we consider the data to be "too large" - if (aDataLen > kLargeDatasetSize) { - // if so, cache it to disk instead of memory - if ( NS_SUCCEEDED(WriteCache(aData, aDataLen)) ) - return; - else - NS_WARNING("Oh no, couldn't write data to the cache file"); - } - - mData = aData; - mDataLen = aDataLen; -} - - -//------------------------------------------------------------------------- -void DataStruct::GetData ( nsISupports** aData, uint32_t *aDataLen ) { // check here to see if the data is cached on disk @@ -439,14 +419,20 @@ for (i = 0; i < mDataArray.Length(); ++i) { DataStruct& data = mDataArray.ElementAt(i); bool canConvert = false; + bool aIsPrivBrowsing = false; mFormatConv->CanConvert(aFlavor, data.GetFlavor().get(), &canConvert); if ( canConvert ) { nsCOMPtr ConvertedData; uint32_t ConvertedLen; mFormatConv->Convert(aFlavor, aData, aDataLen, data.GetFlavor().get(), getter_AddRefs(ConvertedData), &ConvertedLen); - data.SetData(ConvertedData, ConvertedLen); - return NS_OK; + if (NS_SUCCEEDED(GetIsPrivateData(&aIsPrivBrowsing))) { + data.SetData(ConvertedData, ConvertedLen, aIsPrivBrowsing); + return NS_OK; + } + else { // call to GetIsPrivateData() failed, + return NS_ERROR_FAILURE; // we didn't SetData(), generic error + } } } }