Bill Filler wrote:
Hello, I've written a custom protocol handler that is being used in
my embedding application. Is there a way for the protocol handler to
mark it's returned content stale or expired so that when the content
is accessed via nsIWebNavigation::goBack() and goForward() it will
always be reloaded?

Hrm, true, bfcache caused that problem... Before it, protocol handlers had to explicitly handle cache stuff.

Maybe bfcache should only be enabled for channels that QI to nsICachingChannel; it might be a good idea to file a bug about that.

So my pages always show up in the history
correctly, but never get reloaded when I use the back/forward
mechanisms, instead the cached version is displayed.

Urg, apparently this code just always caches all non-HTTP channels. That kind of sucks.

I guess the only solution that works in existing versions is to implement nsIHttpChannel and return true from isNoStoreResponse. This is not a great solution though. You should file a bug on providing a better one, maybe that'd just be what I suggested above (make bfcache only cache documents where the channel implements nsICachingChannel)



_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to