New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 764127 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Remove local storage cache on browser side when possible on Android

Project Member Reported by ssid@chromium.org, Sep 11 2017

Issue description

The local storage cache on browser side stores a copy of whole database in memory apart from having a leveldb cache and renderer side cache. This is require to send notifications to all renderers about changes in value along with the old value. We can try to avoid storing cache by sending the old value form renderer side cache.

Doc: https://docs.google.com/document/d/1C6YDIuRmKH-tc81QD92NA-kxHrAnAeuuiciFP91Oxok/edit?hl=en#heading=h.soreao8nwrgs

This change would be similar to the change done for session storage database done in  issue 743187 
 

Comment 1 by ssid@chromium.org, Sep 11 2017

Cc: mariakho...@chromium.org
Labels: -Pri-3 Performance-Memory LowMemory OS-Android Pri-2

Comment 2 by ssid@chromium.org, Sep 11 2017

Components: Blink>Storage>DOMStorage

Comment 3 by jsb...@chromium.org, Sep 18 2017

Status: Available (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0600a2a839baef1d35ed3b1337d5a4bed6930c2

commit c0600a2a839baef1d35ed3b1337d5a4bed6930c2
Author: Siddhartha <ssid@chromium.org>
Date: Thu Oct 12 22:03:02 2017

LevelDBWrapper: Support sending old values to leveldb wrapper when changing items

Old value parameter to Put() and Delete() calls. The parameter will be used
in next CLs to send notifications when the cache does not store values.

BUG= 764127 

Change-Id: I26320985265ccc66c66907770447818b94192537
Reviewed-on: https://chromium-review.googlesource.com/661417
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Greg Kerr <kerrnel@chromium.org>
Commit-Queue: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508493}
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/browser/leveldb_wrapper_impl.cc
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/browser/leveldb_wrapper_impl.h
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/browser/leveldb_wrapper_impl_unittest.cc
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/common/leveldb_wrapper.mojom
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/renderer/dom_storage/local_storage_cached_area.cc
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/renderer/dom_storage/local_storage_cached_area.h
[modify] https://crrev.com/c0600a2a839baef1d35ed3b1337d5a4bed6930c2/content/renderer/dom_storage/local_storage_cached_area_unittest.cc

Hey Sid - is there any work left to close this bug out?
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8191ca3b4335ca599486def59c7b2c3c2c6916f

commit e8191ca3b4335ca599486def59c7b2c3c2c6916f
Author: Siddhartha <ssid@chromium.org>
Date: Tue Nov 07 18:24:20 2017

Do not store values in Local storage browser side cache when possible

This CL clears the values in the local storage browser side cache
whenever possible to save memory on Android devices. This would cause
reload of the database when multiple renderers open the same storage
for the first time. Users on Android rarely have multiple renderers,
so we can remove the values in cache.

BUG= 764127 

Change-Id: I0ac43b77fd54824e851fe7afa99a99a41a8b67a0
Reviewed-on: https://chromium-review.googlesource.com/676142
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514511}
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/browser/leveldb_wrapper_impl.cc
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/browser/leveldb_wrapper_impl.h
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/browser/leveldb_wrapper_impl_unittest.cc
[modify] https://crrev.com/e8191ca3b4335ca599486def59c7b2c3c2c6916f/content/common/leveldb_wrapper.mojom

Comment 7 by ssid@chromium.org, Dec 11 2017

Status: Fixed (was: Available)

Sign in to add a comment