Bug 130672

Summary: Web Replay: disable page cache during capture/replay
Product: WebKit Reporter: BJ Burg <bburg>
Component: Page LoadingAssignee: BJ Burg <bburg>
Severity: Normal CC: ap, joepeck, kling, mhock, psolanki, sam, timothy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 130728    
Bug Blocks:    
Description Flags
the patch timothy: review+

Description BJ Burg 2014-03-24 08:50:22 PDT
Comment 1 BJ Burg 2014-03-24 16:15:19 PDT
I may end up splitting this patch, as the MemoryCache is a bit tricky to get right.

Since the memory cache is a static singleton, simply setting it as disabled through its API is not foolproof because another context using the same WebProcess could un-disable and start filling the cache, altering execution results.

Simply returning 0 from CachedResourceLoader::requestResource whenever the associated page is in "replay mode" won't work because we expect the main resource to always be returned from requestResource.

An approach I am investigating now is to make a special SessionID for replay; when the MemoryCache encounters a resource in this session, it will neither return a cache hit nor store an fetched resource into the cache.
Comment 2 BJ Burg 2014-03-26 10:35:03 PDT
Created attachment 227861 [details]
the patch
Comment 3 BJ Burg 2014-03-26 20:39:20 PDT
I will commit this with just the page cache part, so other settings can hook into the common state setup method while I debug problems with the MemoryCache setting.
Comment 4 BJ Burg 2014-03-26 20:46:01 PDT
Committed r166337: <http://trac.webkit.org/changeset/166337>