[tbb-dev] Problems getting a nsIChannel reference

Arthur D. Edelstein arthuredelstein at gmail.com
Thu Jan 15 02:00:45 UTC 2015


Hi Michael,

Could you add a flag to DataStruct::SetData, like
`DataStruct::SetData (nsISupports* aData, uint32_t aDataLen, bool private)`

and then change calls to SetData to look like
`data.SetData (aData, aDataLen, mPrivateData);`

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

Best regards,
Arthur

On Wed, Jan 14, 2015 at 5:16 PM,  <tordevmuc at encambio.com> wrote:
>
> Hello list,
>
> Regarding #9701, on Monday's meeting we talked about this method:
>
>   DataStruct::SetData (nsISupports* aData, uint32_t aDataLen)
>   { // Try to get a nsIChannel here }
>
> And a helpful comment was 'get the channel from the
> top level chrome window.' I tried a few things:
>
>   nsCOMPtr<nsIDOMChromeWindow> aWin(do_QueryInterface(aData, &rv));
>   nsCOMPtr<nsILoadContext> aCtx(do_QueryInterface(aData, &rv));
>
> These calls set rv == NS_NOINTERFACE in every case. Am I missing
> another way to get the top chrome window? Is there a global mTopwin?
>
> SetData gets called like this:
>
>   nsCOMPtr<nsISupportsString> aString;
>   SetData (aString, <some-number>)
>
> By the way, another suggestion to use the JavaScript module
> PrivateBrowsingUtils.jsm requires a nsILoadContext pointer,
> failing with rv == NS_NOINTERFACE in the same way.
>
> Looks like this is not going to make it in the 4.5 alpha 3 release.
>
> (No) Cheers,
> Michael
>
> _______________________________________________
> tbb-dev mailing list
> tbb-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tbb-dev
>


More information about the tbb-dev mailing list