Hi Arthur,
Cool, I was hoping you'd reply.
On Wed., Jan. 14, 2015, Arthur D. Edelstein wrote:
On Wed, Jan 14, 2015 at 5:16 PM, Michael Schloh von Bennewitz wrote:
Regarding #9701, on Monday's meeting we talked about this method:
DataStruct::SetData (nsISupports* aData, uint32_t aDataLen) { // Try to get a nsIChannel here }
[...]
Looks like this is not going to make it in the 4.5 alpha 3 release.
Could you add a flag to DataStruct::SetData, like `DataStruct::SetData (nsISupports* aData, uint32_t aDataLen, bool private)`
Yes, per my suggestion 'changing the API' at the meeting. This breaks binary compatability, but it might not be as bad as I thought, since the interface isn't exposed in IDL.
By the way:
tor-browser$ find . -name '*.cpp' -exec grep 'SetData' {} ; -print | wc 883 (!) 2174 49443
The nsTransferable::mPrivateData field seems to indicate if the data came from a private browsing load context: https://dxr.mozilla.org/mozilla-central/source/widget/nsTransferable.cpp#234
mPrivateData is a protected member of another class, so dead end.
All we can do is break binary compatability and hope for the best. It might lower chances of a easy backport to ESR38, but let's see.
Cheers, Michael