Epiphany and midori need a way to go into offline mode, that is only local files should be accessible.
dispatchDecidePolicyForNavigationAction/"navigation-requested" cannot be used because it works only for the main resource, i.e. the main html page, not the images, scripts, etc.
dispatchWillSendRequest is called for everyv resource but I don't know how to block the loading from it.
This is probably will take advantage the cache policy property of the ResourceRequest object on dispatchWillSendRequest; ReturnCacheDataDontLoad on ResourceRequest, WEBKIT_REQ_CACHE_POLICY_CACHE_ONLY on the proposed patch to implement WebKitNetworkRequest (see #18608);
I assume "offline mode" will also be able to access the local http cache? That's what Gustavo's comments seem to imply, but the original description doesn't mention it (but since it mentions web browsers I assume you also want this).
I think the offline mode should still be able to access the cache, yes. Or at least a way to enable it.
We should probably wait for offline mode via ServiceWorkers or AppCache.