← Back to team overview

ubuntu-webapps-bugs team mailing list archive

[Bug 1430349] [NEW] Investigate using the simple cache backend

 

Public bug reported:

We currently use the default blockfile cache backend in Chromium, which
is what desktop Chrome uses. Chrome on Android uses a different backend
(the simple backend). See the design documents:

http://www.chromium.org/developers/design-documents/network-stack/disk-cache
http://www.chromium.org/developers/design-documents/network-stack/disk-cache/very-simple-backend

I noticed that the eviction algorithm for the blockfile backend doesn't
begin until the application has been running for 10 minutes. I wonder if
this means that it never runs on the device (assuming most users don't
use an app continuously for more than 10 minutes and it gets killed by
the lifecycle management whilst it's in the background).

Rather than fixing this, it might be worth investigating switching the
backend to the simple backend. Ideally we would use the same backend on
the device and desktop, so it should work well on the desktop too.

There are 2 consumers of the disk cache at the moment - the network
cache (created in oxide::BrowserContextIOData::CreateMainRequestContext)
and the application cache (created in content::AppCacheDiskCache::Init).
For the latter, it looks like the build can define
APPCACHE_USE_SIMPLE_CACHE to switch the backend.

We'd also need to make sure that the old cache is cleaned up on upgrade
- that will probably require additional run-once code in Oxide

** Affects: oxide
     Importance: High
     Assignee: Olivier Tilloy (osomon)
         Status: Triaged

** Changed in: oxide
   Importance: Undecided => High

** Changed in: oxide
       Status: New => Triaged

** Changed in: oxide
     Assignee: (unassigned) => Olivier Tilloy (osomon)

-- 
You received this bug notification because you are a member of Ubuntu
WebApps bug tracking, which is subscribed to Oxide.
https://bugs.launchpad.net/bugs/1430349

Title:
  Investigate using the simple cache backend

Status in Oxide Webview:
  Triaged

Bug description:
  We currently use the default blockfile cache backend in Chromium,
  which is what desktop Chrome uses. Chrome on Android uses a different
  backend (the simple backend). See the design documents:

  http://www.chromium.org/developers/design-documents/network-stack/disk-cache
  http://www.chromium.org/developers/design-documents/network-stack/disk-cache/very-simple-backend

  I noticed that the eviction algorithm for the blockfile backend
  doesn't begin until the application has been running for 10 minutes. I
  wonder if this means that it never runs on the device (assuming most
  users don't use an app continuously for more than 10 minutes and it
  gets killed by the lifecycle management whilst it's in the
  background).

  Rather than fixing this, it might be worth investigating switching the
  backend to the simple backend. Ideally we would use the same backend
  on the device and desktop, so it should work well on the desktop too.

  There are 2 consumers of the disk cache at the moment - the network
  cache (created in
  oxide::BrowserContextIOData::CreateMainRequestContext) and the
  application cache (created in content::AppCacheDiskCache::Init). For
  the latter, it looks like the build can define
  APPCACHE_USE_SIMPLE_CACHE to switch the backend.

  We'd also need to make sure that the old cache is cleaned up on
  upgrade - that will probably require additional run-once code in Oxide

To manage notifications about this bug go to:
https://bugs.launchpad.net/oxide/+bug/1430349/+subscriptions


Follow ups

References