(In reply to comment #37)
> My current proposal is to add some mechanism to the image loader that can
> override the pref, is that what would be desirable?
That sounds like the ideal solution, yeah. The tricky part is that I think what you really want to change the return value of nsContentBlocker::TestPermission
specifically, when called from nsImageLoadingContent::LoadImage (via nsContentUtils::CanLoadImage->NS_CheckContentLoadPolicy->nsContentPolicy::ShouldLoad etc.), and the amount of indirection makes that difficult.
A simple approach might be to create a new interface to nsContentBlocker that allows you to tell it to return nsIContentPolicy::ACCEPT from TestPermission for a given URI (e.g. contentBlocker->IgnorePolicy(aURI, ACCEPT)), and then use that from either the browser.js code that calls forceReload or forceReload itself (perhaps controlled by a new optional argument?). You'd need a way to tell it to continue enforcing the policy afterward as well.
(In reply to comment #37)
> My current proposal is to add some mechanism to the image loader that can
> override the pref, is that what would be desirable?
That sounds like the ideal solution, yeah. The tricky part is that I think what you really want to change the return value of nsContentBlocke r::TestPermissi on ontent: :LoadImage (via nsContentUtils: :CanLoadImage- >NS_CheckConten tLoadPolicy- >nsContentPolic y::ShouldLoad etc.), and the amount of indirection makes that difficult.
specifically, when called from nsImageLoadingC
A simple approach might be to create a new interface to nsContentBlocker that allows you to tell it to return nsIContentPolic y::ACCEPT from TestPermission for a given URI (e.g. contentBlocker- >IgnorePolicy( aURI, ACCEPT)), and then use that from either the browser.js code that calls forceReload or forceReload itself (perhaps controlled by a new optional argument?). You'd need a way to tell it to continue enforcing the policy afterward as well.
bzbarsky, what do you think of that idea?