Bug 130672 - Web Replay: disable page cache during capture/replay
Summary: Web Replay: disable page cache during capture/replay
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: BJ Burg
Depends on: 130728
  Show dependency treegraph
Reported: 2014-03-24 08:50 PDT by BJ Burg
Modified: 2014-03-26 20:46 PDT (History)
7 users (show)

See Also:

the patch (4.65 KB, patch)
2014-03-26 10:35 PDT, BJ Burg
timothy: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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>