diff -r 141e0f1194b1 -r 97036ab72558 widget/xpwidgets/nsTransferable.cpp --- a/widget/xpwidgets/nsTransferable.cpp Wed Dec 31 07:16:47 2014 +0100 +++ b/widget/xpwidgets/nsTransferable.cpp Tue Jan 06 21:39:09 2015 +0100 @@ -14,6 +14,7 @@ #include "nsTransferable.h" +#include "mozilla/Preferences.h" #include "nsString.h" #include "nsReadableUtils.h" #include "nsTArray.h" @@ -58,8 +59,11 @@ void DataStruct::SetData ( nsISupports* aData, uint32_t aDataLen ) { + // First, prepare for conditional caching according to isolation mode + int32_t isolationState = mozilla::Preferences::GetInt("privacy.thirdparty.isolate"); + // Now, check to see if we consider the data to be "too large" - if (aDataLen > kLargeDatasetSize) { + if (aDataLen > kLargeDatasetSize && isolationState == 0) { // if so, cache it to disk instead of memory if ( NS_SUCCEEDED(WriteCache(aData, aDataLen)) ) return;