[DomStorage] Implement SessionStorageLevelDB::DeleteSessions [chromium/src : main]

0 views
Skip to first unread message

Steve Becker (Gerrit)

unread,
Dec 3, 2025, 8:48:52 PM (2 days ago) Dec 3
to Evan Stade, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org
Attention needed from Evan Stade

Steve Becker voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Evan Stade
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
Gerrit-Change-Number: 7226541
Gerrit-PatchSet: 2
Gerrit-Owner: Steve Becker <ste...@microsoft.com>
Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
Gerrit-Attention: Evan Stade <evan...@microsoft.com>
Gerrit-Comment-Date: Thu, 04 Dec 2025 01:48:42 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Evan Stade (Gerrit)

unread,
Dec 4, 2025, 6:00:40 PM (2 days ago) Dec 4
to Steve Becker, Chromium LUCI CQ, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org
Attention needed from Steve Becker

Evan Stade added 2 comments

File components/services/storage/dom_storage/session_storage_impl.cc
Line 495, Patchset 2 (Latest): absl::flat_hash_set<std::string> namespaces_to_delete;
Evan Stade . unresolved

why did this change to a set? It looks like the code below already could not insert duplicates into `namespaces_to_delete`

Line 498, Patchset 2 (Latest): if (namespaces_.find(namespace_id) != namespaces_.end() ||
protected_namespaces_from_scavenge_.find(namespace_id) !=
protected_namespaces_from_scavenge_.end()) {
Evan Stade . unresolved

nit: probably easier to read using `base::Contains`

Open in Gerrit

Related details

Attention is currently required from:
  • Steve Becker
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
    Gerrit-Change-Number: 7226541
    Gerrit-PatchSet: 2
    Gerrit-Owner: Steve Becker <ste...@microsoft.com>
    Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
    Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
    Gerrit-Attention: Steve Becker <ste...@microsoft.com>
    Gerrit-Comment-Date: Thu, 04 Dec 2025 23:00:31 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steve Becker (Gerrit)

    unread,
    Dec 5, 2025, 6:49:34 PM (8 hours ago) Dec 5
    to Chromium LUCI CQ, Evan Stade, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org
    Attention needed from Evan Stade

    Steve Becker voted and added 3 comments

    Votes added by Steve Becker

    Commit-Queue+1

    3 comments

    Patchset-level comments
    File-level comment, Patchset 3 (Latest):
    Steve Becker . resolved

    As always, thanks for the reviews!

    File components/services/storage/dom_storage/session_storage_impl.cc
    Line 495, Patchset 2: absl::flat_hash_set<std::string> namespaces_to_delete;
    Evan Stade . resolved

    why did this change to a set? It looks like the code below already could not insert duplicates into `namespaces_to_delete`

    Steve Becker

    I switched back to a vector. You're correct that the set is not required for this scenario. There's one lookup inside a CHECK in the SessionStorageLevelDB code, which I switched to a DCHECK and base::Contains().

    Line 498, Patchset 2: if (namespaces_.find(namespace_id) != namespaces_.end() ||
    protected_namespaces_from_scavenge_.find(namespace_id) !=
    protected_namespaces_from_scavenge_.end()) {
    Evan Stade . resolved

    nit: probably easier to read using `base::Contains`

    Steve Becker

    Looks like std::

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Evan Stade
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
      Gerrit-Change-Number: 7226541
      Gerrit-PatchSet: 3
      Gerrit-Owner: Steve Becker <ste...@microsoft.com>
      Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
      Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
      Gerrit-Attention: Evan Stade <evan...@microsoft.com>
      Gerrit-Comment-Date: Fri, 05 Dec 2025 23:49:23 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Evan Stade <evan...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Evan Stade (Gerrit)

      unread,
      Dec 5, 2025, 7:12:33 PM (8 hours ago) Dec 5
      to Steve Becker, Chromium LUCI CQ, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org
      Attention needed from Steve Becker

      Evan Stade voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Steve Becker
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
      Gerrit-Change-Number: 7226541
      Gerrit-PatchSet: 3
      Gerrit-Owner: Steve Becker <ste...@microsoft.com>
      Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
      Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
      Gerrit-Attention: Steve Becker <ste...@microsoft.com>
      Gerrit-Comment-Date: Sat, 06 Dec 2025 00:12:21 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Steve Becker (Gerrit)

      unread,
      Dec 5, 2025, 10:52:11 PM (4 hours ago) Dec 5
      to Evan Stade, Chromium LUCI CQ, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org

      Steve Becker voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
      Gerrit-Change-Number: 7226541
      Gerrit-PatchSet: 4
      Gerrit-Owner: Steve Becker <ste...@microsoft.com>
      Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
      Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
      Gerrit-Comment-Date: Sat, 06 Dec 2025 03:51:59 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Dec 5, 2025, 11:15:21 PM (4 hours ago) Dec 5
      to Steve Becker, Evan Stade, chromium...@chromium.org, dmurph+watching...@chromium.org, dmurph+watch...@chromium.org, edgesto...@microsoft.com, storage...@chromium.org

      Chromium LUCI CQ submitted the change

      Unreviewed changes

      3 is the latest approved patch-set.
      No files were changed between the latest approved patch-set and the submitted one.

      Change information

      Commit message:
      [DomStorage] Implement SessionStorageLevelDB::DeleteSessions

      For each deleted session, removes all of the session's storage key
      metadata using the following LevelDB prefix:

      "namespace-<session_id>-"

      Optionally removes map key/value pairs using the LevelDB prefix:

      "map-<map_id>-"

      Callers of `DeleteSessions()` must specify which maps to delete. The
      function must not remove maps still referenced by clones in other
      sessions.
      Bug: 377242771
      Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
      Reviewed-by: Evan Stade <evan...@microsoft.com>
      Commit-Queue: Steve Becker <ste...@microsoft.com>
      Cr-Commit-Position: refs/heads/main@{#1555051}
      Files:
      • M components/services/storage/dom_storage/async_dom_storage_database.cc
      • M components/services/storage/dom_storage/async_dom_storage_database.h
      • M components/services/storage/dom_storage/dom_storage_database.h
      • M components/services/storage/dom_storage/leveldb/local_storage_leveldb.cc
      • M components/services/storage/dom_storage/leveldb/local_storage_leveldb.h
      • M components/services/storage/dom_storage/leveldb/session_storage_leveldb.cc
      • M components/services/storage/dom_storage/leveldb/session_storage_leveldb.h
      • M components/services/storage/dom_storage/leveldb/session_storage_leveldb_unittest.cc
      • M components/services/storage/dom_storage/session_storage_impl.cc
      • M components/services/storage/dom_storage/session_storage_impl.h
      • M components/services/storage/dom_storage/session_storage_metadata.cc
      • M components/services/storage/dom_storage/session_storage_metadata.h
      • M components/services/storage/dom_storage/session_storage_metadata_unittest.cc
      • M components/services/storage/dom_storage/test_support/dom_storage_database_testing.cc
      • M components/services/storage/dom_storage/test_support/dom_storage_database_testing.h
      Change size: L
      Delta: 15 files changed, 459 insertions(+), 77 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Evan Stade
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id3e836e7e2d43eb15ad8a48de7d2b732e16077b4
      Gerrit-Change-Number: 7226541
      Gerrit-PatchSet: 5
      Gerrit-Owner: Steve Becker <ste...@microsoft.com>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Evan Stade <evan...@microsoft.com>
      Gerrit-Reviewer: Steve Becker <ste...@microsoft.com>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages