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

Issue 823071 link

Starred by 6 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 902326



Sign in to add a comment

Domains and urls persisted on disk even after clear history.

Reported by modi.kon...@gmail.com, Mar 17 2018

Issue description

VULNERABILITY DETAILS
Domains and urls persisted on disk even after clear history.

Websites using any of these functionalities, leave a permanent footprint on disk:

1. Push notifications
2. Storage (Local storage / LevelDB)
3. Service workers
4. Filesystem API

Steps to reproduce:
1. Visit all of the following websites:

	a. https://mdn.github.io/sw-test/
	b. https://gauntface.github.io/
	c. https://www.mydealz.de/
	d. https://edition.cnn.com/
	e. https://www.airfrance.com/ or https://xvideos.com / https://pornhub.com

2. Clear browsing data (basic and advanced) for all time. Make sure all the check boxes are selected.
3. Restart the browser (possibly multiple times).
4. Terminal -> Profile folder -> 
	The following files / folders still contain the footprints on domains / URL's accessed:
	a. "Local Storage/leveldb/"
	b. "Service Worker/Database/"
	c. "File System/Origins/"
	d. "GCM Store/"
	e. "GCM Store/Encryption/"
	f. "File System/Origins/"


VERSION
Chrome Version: Version 65.0.3325.162 (Official Build) (64-bit)
Operating System: macOS Sierra v 10.12.6


 
mydealz-localstorage-service-worker.png
105 KB View Download
cnn-filesystem-api.png
60.1 KB View Download
session-store-pornhub.png
71.7 KB View Download
air-france-session-store.png
108 KB View Download
push-notification-github.png
161 KB View Download
service-worker-mdn.png
153 KB View Download
clear-history-1.png
83.6 KB View Download
clear-history-2.png
73.8 KB View Download
Components: Blink>Storage Privacy
Labels: -Type-Bug-Security -Restrict-View-SecurityTeam Type-Bug
Labels: Needs-Triage-M65
Correct link for push notification test:
https://gauntface.github.io/simple-push-demo/

Comment 4 by jsb...@chromium.org, Mar 20 2018

This is because leveldb is used as the backing store for those services (their indexes, if not actual data), and deleted items remain in the leveldb files until compaction eventually removes them.


Cc: dullweber@chromium.org
Status: Available (was: Unconfirmed)
What does "eventually" mean in this case?

Comment 6 by mek@chromium.org, Mar 23 2018

Eventually pretty much means arbitrarily far in the future. If changes keep being made to the databases the old data will eventually disappear, but if nothing more gets written there is no guarantee that even compaction is enough to remove all trace of old data (at least I'm pretty sure that there has to be at least some minimum amount of churn before compaction actually fully cleans up old stuff).
Hmm :( Is there something that prevents us from doing the compaction immediately?
 I understand that the databases might still be in use, but that's true for every other storage mechanism used by the Clear Browsing Data dialog as well.

Comment 8 by mek@chromium.org, Mar 23 2018

I don't think doing the compaction immediately is enough (i.e. I think I tried to add a "forced" compaction to localstorage after clearing storage for an origin at some point, but that still left traces of the origin in the files on disk; let me try dusting of that CL to see if I remember correctly). Leveldb is just not designed to guarantee that you can guarantee that some data doesn't exist on disk anymore.

Comment 9 by mek@chromium.org, Mar 23 2018

https://chromium-review.googlesource.com/c/chromium/src/+/978861 was the earlier attempt I mentioned. It adds a forced compaction of the whole database after deleting a localstorage origin, but that still leaves references to the origin in log file, manifest file and database file itself. Not much (if anything) we can do about that from outside of leveldb.
Thanks for digging it out.

Could we instead just delete the database from the disk and recreate it?

Comment 11 by mek@chromium.org, Mar 23 2018

Well, it would be rather inefficient to implement every delete by copying all the data we want to keep... Speaking specifically about localstorage (but it might be the same for other DBs), if somehow the clear storage UI could pass on the fact that we're deleting all origins to the localstorage deletion code we could definitely throw away the entire DB in that case. But with the current design where the clear storage UI/code iterates over all origins one by one that wouldn't be possible, no. Of course that also wouldn't help for the case where a user is actually only trying to delete some subset of origins.
Cc: sebmarchand@chromium.org
I was about to report the same privacy issue before being pointed out to this crbug, here's the info I was about to report:


Repro steps:
- Grab the archive: (if you're a Googler: http://go/chrome-builds/69.0.3444.0/win64-clang/)
- Start Chrome with a fresh data dir ("chrome.exe --user-data-dir=[new path]")
- Open 2 tabs in a normal profile (cnn.com and cnet.com in my test).
- Close one of these tabs (the cnn.com one in my case)
- Open the history (Ctrl+H), click on the 3 dots next to the tab you closed (cnn.com) and choose "Remove from history"
- Close Chrome

Expectations:
- There will be no trace of the visit to cnn.com in the profile directory

Observations:
- There's still some references to cnn.com in these files:
    - in {profile directory}\Default\IndexedDB\https_www.cnn.com_0.indexeddb.leveldb (the name itself refers to cnn)
    - in the log file (*.log) in {profile directory}\Default\Session Storage
    - in the log file (*.log) in {profile directory}\Default\File System\Origins
    - in the log file (*.log) in {profile directory}\Default\Local Storage\leveldb


I discovered this while working on another service that'll use LevelDB as a backend. So far I'm not sure of how this could be fixed, it looks like the following steps might fix this:
  - triggering a compaction
  - closing the db
  - deleting the log file
  - re-opening the db




Spoke with dullweber@ who pointed out that "Remove from history" is not enough to remove browsing data, this bug also repro if you choose the "Clear browsing data" option (this is a more accurate way to repro this)
I looked a bit into this issue and wrote an end-to-end test similar to https://crrev.com/c/978861 that checks the profile directory for remaining files after navigating to a page and creating all kinds of storage (https://crrev.com/c/1071574). Even when I restart Chrome before and after the deletion, leveldb log files remain.

It is possible to detect deletions that cover data for "all time" in StoragePartition but there is still the destinction between UNPROTECTED_WEB and PROTECTED_WEB from origin_type_mask. (https://cs.chromium.org/chromium/src/content/browser/browsing_data/browsing_data_remover_impl.cc?l=405&rcl=cbabe1803f0206acd8dbba4475b30148e803554e)
Even if all web storage has been removed, there could be a few extensions or apps that store additional data that is protected, so we can't just throw away the databases and create an empty new one. When all web cookies have been deleted, the cookie store should probably be small enough that it wouldn't be too expensive to move the remaining data into a fresh database instance or perform the steps described by sebmarchand@ if they sufficiently clean the files?


Cc: melodychu@chromium.org
+melodychu@, I'm pretty sure this is what's causing the cookie clearing issue you mentioned during the pizza-monthly meeting.
I'm not sure. This bug is about traces left on disk but the reports showed entries in chrome://settings/siteData. 

I would suspect this issue:  https://crbug.com/840080 
I also found a similar problem with websql but didn't file a bug yet.
Owner: dullweber@chromium.org
Status: Started (was: Available)
We discussed this issue and came to the conclusion that the most reliable way to get LevelDB instances into a clean state is to copy all data into a temporary instance and afterwards replace the original database with the temporary one. This will add some additional complexity but this is acceptable in return for the security and privacy benefits. This approach should guarantee that all traces are removed from disk.
 
We also thought about fixing the issue inside of LevelDB but came to the conclusion that this would be more difficult and wouldn't be future proof as new deletion bugs could be introduced.

In-progress CL: https://crrev.com/c/1152917

Design doc (internal): https://docs.google.com/document/d/11k82IREFCgeA6P8BelE-A4qx7JnvEkz6DFmGExPQy0Y/edit?usp=sharing

Project Member

Comment 18 by bugdroid1@chromium.org, Aug 31

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

commit 061ac2e7b143a840d1399b56b508fe28436ed144
Author: Christian Dullweber <dullweber@chromium.org>
Date: Fri Aug 31 10:14:17 2018

Add method to rewrite a LevelDB instance

Add the infrastructure to remove expired data by rewriting LevelDB
instances.
The integration with actual storage implementation will be added in
followup Cls.

Bug: 823071
Change-Id: Iff1b93481468423d292266f16a45f6ef4ac6e7f2
Reviewed-on: https://chromium-review.googlesource.com/1152917
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587980}
[modify] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/BUILD.gn
[modify] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/env_chromium.cc
[modify] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/env_chromium.h
[modify] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/env_chromium_unittest.cc
[add] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/leveldb_features.cc
[add] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/third_party/leveldatabase/leveldb_features.h
[modify] https://crrev.com/061ac2e7b143a840d1399b56b508fe28436ed144/tools/metrics/histograms/enums.xml

Project Member

Comment 19 by bugdroid1@chromium.org, Aug 31

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

commit 2814b99ae22da9157ad9a6cac9c94f5eec201d82
Author: Christian Dullweber <dullweber@chromium.org>
Date: Fri Aug 31 14:03:50 2018

Revert "Add method to rewrite a LevelDB instance"

This reverts commit 061ac2e7b143a840d1399b56b508fe28436ed144.

Reason for revert: Broke windows dbg compilation on an FYI bot:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/GPU%20FYI%20Win%20x64%20Builder%20%28dbg%29/4448

Original change's description:
> Add method to rewrite a LevelDB instance
> 
> Add the infrastructure to remove expired data by rewriting LevelDB
> instances.
> The integration with actual storage implementation will be added in
> followup Cls.
> 
> Bug: 823071
> Change-Id: Iff1b93481468423d292266f16a45f6ef4ac6e7f2
> Reviewed-on: https://chromium-review.googlesource.com/1152917
> Commit-Queue: Christian Dullweber <dullweber@chromium.org>
> Reviewed-by: Victor Costan <pwnall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#587980}

TBR=pwnall@chromium.org,dullweber@chromium.org

Change-Id: Ieda2131f323f9042e339219cde9d3488e9f13e0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 823071
Reviewed-on: https://chromium-review.googlesource.com/1199663
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588013}
[modify] https://crrev.com/2814b99ae22da9157ad9a6cac9c94f5eec201d82/third_party/leveldatabase/BUILD.gn
[modify] https://crrev.com/2814b99ae22da9157ad9a6cac9c94f5eec201d82/third_party/leveldatabase/env_chromium.cc
[modify] https://crrev.com/2814b99ae22da9157ad9a6cac9c94f5eec201d82/third_party/leveldatabase/env_chromium.h
[modify] https://crrev.com/2814b99ae22da9157ad9a6cac9c94f5eec201d82/third_party/leveldatabase/env_chromium_unittest.cc
[delete] https://crrev.com/229a573b4f56e2da32c7699bb027ac879f358352/third_party/leveldatabase/leveldb_features.cc
[delete] https://crrev.com/229a573b4f56e2da32c7699bb027ac879f358352/third_party/leveldatabase/leveldb_features.h
[modify] https://crrev.com/2814b99ae22da9157ad9a6cac9c94f5eec201d82/tools/metrics/histograms/enums.xml

Issue 880677 has been merged into this issue.
Project Member

Comment 21 by bugdroid1@chromium.org, Sep 11

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

commit 836590265a4bb6047a7a8b8af4d58da7bb6d00aa
Author: Victor Costan <pwnall@chromium.org>
Date: Tue Sep 11 00:28:30 2018

leveldb: Fix the LEVELDB_EXPORT definition in component builds.

LEVELDB_EXPORT is defined in include/leveldb/export.h, and depends on
the definition of LEVELDB_SHARED_LIBRARY. In order for LEVELDB_EXPORT to
be defined consistently, LEVELDB_SHARED_LIBRARY must have the same
definition in leveldb and all targets using it.

Previously, LEVELDB_SHARED_LIBRARY was only defined for component builds
in the //third_party/leveldatabase target. This CL makes the definition
apply to //third_party/leveldatabase dependencies as well.

This CL also renames the //third_party/leveldb target to
//third_party/leveldb_static, to clarify its purpose.

The CL is associated with Bug 823071 because it blocks
https://crrev.com/c/1201856 from landing, which is relevant to that bug.

Bug: 823071
Change-Id: I4216fa52b5f7ed9540ec63be7c16dc7150e9c766
Reviewed-on: https://chromium-review.googlesource.com/1203876
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590131}
[modify] https://crrev.com/836590265a4bb6047a7a8b8af4d58da7bb6d00aa/third_party/leveldatabase/BUILD.gn

Project Member

Comment 22 by bugdroid1@chromium.org, Sep 11

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

commit 3cc579a2d856f023a6693b1c2bb3ee01b63511a6
Author: Christian Dullweber <dullweber@chromium.org>
Date: Tue Sep 11 10:54:44 2018

Reland "Add method to rewrite a LevelDB instance"

This is a reland of 061ac2e7b143a840d1399b56b508fe28436ed144

Original change's description:
> Add method to rewrite a LevelDB instance
>
> Add the infrastructure to remove expired data by rewriting LevelDB
> instances.
> The integration with actual storage implementation will be added in
> followup Cls.
>
> Bug: 823071
> Change-Id: Iff1b93481468423d292266f16a45f6ef4ac6e7f2
> Reviewed-on: https://chromium-review.googlesource.com/1152917
> Commit-Queue: Christian Dullweber <dullweber@chromium.org>
> Reviewed-by: Victor Costan <pwnall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#587980}

Tbr: pwnall@chromium.org
Bug: 823071
Change-Id: I9f01dd376166879b89650619692a33cef48d19ae
Reviewed-on: https://chromium-review.googlesource.com/1201856
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590262}
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/chrome/browser/about_flags.cc
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/BUILD.gn
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/env_chromium.cc
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/env_chromium.h
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/env_chromium_unittest.cc
[add] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/leveldb_features.cc
[add] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/third_party/leveldatabase/leveldb_features.h
[modify] https://crrev.com/3cc579a2d856f023a6693b1c2bb3ee01b63511a6/tools/metrics/histograms/enums.xml

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 26

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

commit 9ed337ff987baa0f54a601d9b09b46d448c5e697
Author: Christian Dullweber <dullweber@chromium.org>
Date: Fri Oct 26 11:34:10 2018

Integrate RewriteDB() with LocalStorage

Rebuild leveldb for LocalStorage when deleting all cookies. This will
remove traces of deleted data from disk.
This change adds a RewriteDB() method to leveldb.mojom and adds
handling of error cases, where the database service becomes unusable
and closes the mojo connection.

TBR: michaelbai@chromium.org
Bug: 823071
Change-Id: I639ce21d7578d19e45ea9b7329b6ccbdfab8b527
Reviewed-on: https://chromium-review.googlesource.com/c/1162172
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Paul Meyer <paulmeyer@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603057}
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/android_webview/browser/aw_quota_manager_bridge.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/chrome/browser/chromeos/login/signin_partition_manager.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/chrome/browser/ui/webui/signin/inline_login_handler.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/BUILD.gn
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/leveldb_database_impl.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/leveldb_database_impl.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/leveldb_service_impl.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/leveldb_service_unittest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/components/services/leveldb/public/interfaces/leveldb.mojom
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/background_sync/background_sync_browsertest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/browsing_data/browsing_data_remover_impl.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/devtools/protocol/storage_handler.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/dom_storage/dom_storage_context_wrapper.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/dom_storage/dom_storage_context_wrapper.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/dom_storage/local_storage_context_mojo.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/payments/payment_app_browsertest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/storage_partition_impl.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/storage_partition_impl_map.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/browser/storage_partition_impl_unittest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/public/browser/dom_storage_context.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/public/browser/storage_partition.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/public/test/test_storage_partition.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/public/test/test_storage_partition.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/test/fake_leveldb_database.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/content/test/fake_leveldb_database.h
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/extensions/browser/guest_view/web_view/web_view_guest.cc
[modify] https://crrev.com/9ed337ff987baa0f54a601d9b09b46d448c5e697/tools/metrics/histograms/histograms.xml

Blocking: 902326
Project Member

Comment 25 by bugdroid1@chromium.org, Nov 19

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

commit 189c388247f195c2bf632a458ec0b1a0d3404275
Author: Christian Dullweber <dullweber@chromium.org>
Date: Mon Nov 19 11:14:35 2018

Integrate RewriteDB() with SessionStorage

Rebuild leveldb for SessionStorage when deleting all cookies. This will
remove traces of deleted data from disk.
This changes introduces a callback to DeleteSessionStorage to allow
the caller to be notified when a deletion is finished.

Bug: 823071
Change-Id: Ia0d13b3739b7aa379e8e2eb89a9e85c0b2365a53
Reviewed-on: https://chromium-review.googlesource.com/c/1202562
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609238}
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/dom_storage_context_wrapper.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/dom_storage_context_wrapper.h
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_context_mojo.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_context_mojo.h
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_context_mojo_unittest.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_namespace_impl_mojo.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_namespace_impl_mojo.h
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/dom_storage/session_storage_namespace_impl_mojo_unittest.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/content/public/browser/dom_storage_context.h
[modify] https://crrev.com/189c388247f195c2bf632a458ec0b1a0d3404275/tools/metrics/histograms/histograms.xml

Cc: jrumm...@chromium.org xhw...@chromium.org c...@chromium.org
 Issue 912865  has been merged into this issue.
Project Member

Comment 27 by bugdroid1@chromium.org, Dec 19

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

commit f9ef133066a16ade1005b92fd3afd4dec20d6c9d
Author: Christian Dullweber <dullweber@chromium.org>
Date: Wed Dec 19 20:29:34 2018

Add LevelDBPerformRewrite fieldtrial

Enable leveldb rewrite fieldtrial and remove an old fieldtrial that
is enabled by default now.

Bug: 823071
Change-Id: I5969f023b049d8e941039c12852f71494b34742f
Reviewed-on: https://chromium-review.googlesource.com/c/1384245
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617932}
[modify] https://crrev.com/f9ef133066a16ade1005b92fd3afd4dec20d6c9d/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 9

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

commit 45ef9d2b52c20c65c13289569dd21bf64f79ec40
Author: Christian Dullweber <dullweber@chromium.org>
Date: Wed Jan 09 12:54:55 2019

Integrate RewriteDB() with service workers

Rebuild leveldb for Service Workers when deleting all cookies to remove
traces of deleted data from disk.
This adds a new method to QuotaClient that so far is only implemented
by service workers.


Bug: 823071
Change-Id: Ida052ae6bba1f8b7517ed29b89afba0720b51fbb
Reviewed-on: https://chromium-review.googlesource.com/c/1344136
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621124}
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/browsing_data/browsing_data_remover_impl.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_database.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_database.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_quota_client.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_quota_client.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_storage.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/service_worker/service_worker_storage.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/public/browser/service_worker_context.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/public/test/fake_service_worker_context.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/content/public/test/fake_service_worker_context.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/storage/browser/BUILD.gn
[add] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/storage/browser/quota/quota_client.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/storage/browser/quota/quota_client.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/storage/browser/quota/quota_manager.cc
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/storage/browser/quota/quota_manager.h
[modify] https://crrev.com/45ef9d2b52c20c65c13289569dd21bf64f79ec40/third_party/leveldatabase/env_chromium.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Jan 10

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

commit 59b327735fac25743c61745df49cb2d3caf399b9
Author: Christian Dullweber <dullweber@chromium.org>
Date: Thu Jan 10 13:09:04 2019

Rename PerformCleanup to PerformStorageCleanup

Rename PerformCleanup to PerformStorageCleanup as suggested in
crrev.com/c/1344136

Bug: 823071
Change-Id: I45b5f1b3434464253e345b63d45fbfa58438365e
Reviewed-on: https://chromium-review.googlesource.com/c/1373845
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621559}
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/browsing_data/browsing_data_remover_impl.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/browsing_data/browsing_data_remover_impl_unittest.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/dom_storage/dom_storage_context_wrapper.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/dom_storage/local_storage_context_mojo.h
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/dom_storage/session_storage_context_mojo.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/dom_storage/session_storage_context_mojo.h
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/browser/storage_partition_impl.h
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/public/browser/storage_partition.h
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/public/test/test_storage_partition.cc
[modify] https://crrev.com/59b327735fac25743c61745df49cb2d3caf399b9/content/public/test/test_storage_partition.h

Labels: Pri-2
Setting defect without priority to Pri-2.
Project Member

Comment 31 by bugdroid1@chromium.org, Jan 17 (6 days ago)

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

commit f27745ff0bd738ae76e2a108e83f62d0fd29ce8d
Author: Christian Dullweber <dullweber@chromium.org>
Date: Thu Jan 17 11:25:36 2019

Integrate RewriteDB() with Filesystem

Rebuild leveldb for Filesystem storage when deleting all cookies. This will
remove traces of deleted data from disk.

Bug: 823071
Change-Id: Ie1eca52817e81aa8faf580341e3deb2f9a236122
Reviewed-on: https://chromium-review.googlesource.com/c/1210202
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Christian Dullweber <dullweber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623648}
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/file_system_quota_client.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/file_system_quota_client.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/file_system_quota_util.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/obfuscated_file_util.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/obfuscated_file_util.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/plugin_private_file_system_backend.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/plugin_private_file_system_backend.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_file_system_backend_delegate.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_file_system_backend_delegate.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_isolated_origin_database.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_isolated_origin_database.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_origin_database.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_origin_database.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_origin_database_interface.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_prioritized_origin_database.cc
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/fileapi/sandbox_prioritized_origin_database.h
[modify] https://crrev.com/f27745ff0bd738ae76e2a108e83f62d0fd29ce8d/storage/browser/test/test_file_system_backend.cc

Sign in to add a comment