[VL] Let callers specify 404 policy in QueryHistory() [chromium/src : main]

3 views
Skip to first unread message

Svend Larsen (Gerrit)

unread,
Sep 12, 2025, 3:16:35 PM (5 days ago) Sep 12
to Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Marc Treib

Svend Larsen voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Marc Treib
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
Gerrit-Change-Number: 6940802
Gerrit-PatchSet: 12
Gerrit-Owner: Svend Larsen <sv...@chromium.org>
Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
Gerrit-Attention: Marc Treib <tr...@chromium.org>
Gerrit-Comment-Date: Fri, 12 Sep 2025 19:16:31 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Marc Treib (Gerrit)

unread,
Sep 15, 2025, 5:51:59 AM (3 days ago) Sep 15
to Svend Larsen, Andrew Liu, Kyra Seevers, Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Svend Larsen

Marc Treib added 4 comments

Patchset-level comments
File-level comment, Patchset 12 (Latest):
Marc Treib . resolved

Generally LG, only I'm not fully convinced yet that we really can't add this to `QueryParams` - see comment below.

Commit Message
Line 24, Patchset 12 (Latest):to allow their callers to specify other QueryOptions.
Marc Treib . unresolved

Ugh, that's unfortunate... which ones are those (and how many)?
The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

File components/browsing_topics/test_util.cc
Line 149, Patchset 12 (Latest): std::u16string(), options, history::VisitQuery404sPolicy::kInclude404s,
Marc Treib . unresolved

The corresponding prod code excludes 404s - is the difference intentional?

File components/history/core/browser/history_backend.cc
Line 2791, Patchset 12 (Latest): VisitQuery404sPolicy::kExclude404s, &visits);
Marc Treib . unresolved

`policy_for_404s`, and remove the TODO above

Open in Gerrit

Related details

Attention is currently required from:
  • Svend Larsen
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
    Gerrit-Change-Number: 6940802
    Gerrit-PatchSet: 12
    Gerrit-Owner: Svend Larsen <sv...@chromium.org>
    Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
    Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
    Gerrit-CC: Andrew Liu <l...@chromium.org>
    Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
    Gerrit-Attention: Svend Larsen <sv...@chromium.org>
    Gerrit-Comment-Date: Mon, 15 Sep 2025 09:51:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Svend Larsen (Gerrit)

    unread,
    Sep 16, 2025, 11:11:55 AM (yesterday) Sep 16
    to Andrew Liu, Kyra Seevers, Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Marc Treib

    Svend Larsen added 1 comment

    Commit Message
    Line 24, Patchset 12:to allow their callers to specify other QueryOptions.
    Marc Treib . unresolved

    Ugh, that's unfortunate... which ones are those (and how many)?
    The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

    Svend Larsen

    (Sorry for the delay, I was out for a good chunk of yesterday.) `GetAnnotatedVisits()` could indeed support a 404 policy. The other methods that I'm aware of are `BrowsingHistoryService::QueryHistory()` (definitely) and `WebHistoryService::QueryHistory()` (possibly, I don't have enough context to tell for sure). But maybe it's worthwhile to create a separate `QueryOptions`-like type for those methods that's missing `policy_for_404_visits`? Something like this:

    ```
    // Has all the fields that `QueryOptions` currently has.
    QueryOptionsBase
    |
    | // No additional fields.
    +-- UIQueryOptions : QueryOptionsBase
    |
    | // Adds `policy_for_404_visits` and maybe a ctor that takes a
    | // `UIQueryOptions`.
    +-- QueryOptions : QueryOptionsBase
    ```

    WDYT?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Marc Treib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
    Gerrit-Change-Number: 6940802
    Gerrit-PatchSet: 13
    Gerrit-Owner: Svend Larsen <sv...@chromium.org>
    Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
    Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
    Gerrit-CC: Andrew Liu <l...@chromium.org>
    Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
    Gerrit-Attention: Marc Treib <tr...@chromium.org>
    Gerrit-Comment-Date: Tue, 16 Sep 2025 15:11:48 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Marc Treib <tr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Marc Treib (Gerrit)

    unread,
    Sep 16, 2025, 12:16:55 PM (yesterday) Sep 16
    to Svend Larsen, Andrew Liu, Kyra Seevers, Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Svend Larsen

    Marc Treib added 1 comment

    Commit Message
    Line 24, Patchset 12:to allow their callers to specify other QueryOptions.
    Marc Treib . unresolved

    Ugh, that's unfortunate... which ones are those (and how many)?
    The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

    Svend Larsen

    (Sorry for the delay, I was out for a good chunk of yesterday.) `GetAnnotatedVisits()` could indeed support a 404 policy. The other methods that I'm aware of are `BrowsingHistoryService::QueryHistory()` (definitely) and `WebHistoryService::QueryHistory()` (possibly, I don't have enough context to tell for sure). But maybe it's worthwhile to create a separate `QueryOptions`-like type for those methods that's missing `policy_for_404_visits`? Something like this:

    ```
    // Has all the fields that `QueryOptions` currently has.
    QueryOptionsBase
    |
    | // No additional fields.
    +-- UIQueryOptions : QueryOptionsBase
    |
    | // Adds `policy_for_404_visits` and maybe a ctor that takes a
    | // `UIQueryOptions`.
    +-- QueryOptions : QueryOptionsBase
    ```

    WDYT?

    Marc Treib

    So, `BrowsingHistoryService` is what actually populates chrome://history. It combines results from `HistoryService` (local history) and `WebHistoryService` (history downloaded from a Google server). `WebHistoryService` is mainly needed because it has 1 year's worth of history data, whereas the local history DB has only 3 months.

    `BrowsingHistoryService` itself doesn't really do anything, so it'd just need to pass through the param.
    `WebHistoryService` unfortunately can't really be updated to support a 404 policy, since it uses a legacy API that nobody wants to touch anymore. So it'll just return whatever history sync has uploaded.

    I don't really know what the conclusion is TBH. Maybe just put the new bool into the existing struct, and accept that `WebHistoryService` doesn't support it? Since there's not much we can do about it anyway - IIUC ideally we'd want it to always exclude 404s, but that's just not on the table unfortunately.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Svend Larsen
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
    Gerrit-Change-Number: 6940802
    Gerrit-PatchSet: 13
    Gerrit-Owner: Svend Larsen <sv...@chromium.org>
    Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
    Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
    Gerrit-CC: Andrew Liu <l...@chromium.org>
    Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
    Gerrit-Attention: Svend Larsen <sv...@chromium.org>
    Gerrit-Comment-Date: Tue, 16 Sep 2025 16:16:39 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Marc Treib <tr...@chromium.org>
    Comment-In-Reply-To: Svend Larsen <sv...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Svend Larsen (Gerrit)

    unread,
    Sep 16, 2025, 1:31:01 PM (yesterday) Sep 16
    to Andrew Liu, Kyra Seevers, Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Marc Treib

    Svend Larsen added 1 comment

    Commit Message
    Line 24, Patchset 12:to allow their callers to specify other QueryOptions.
    Marc Treib . unresolved

    Ugh, that's unfortunate... which ones are those (and how many)?
    The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

    Svend Larsen

    (Sorry for the delay, I was out for a good chunk of yesterday.) `GetAnnotatedVisits()` could indeed support a 404 policy. The other methods that I'm aware of are `BrowsingHistoryService::QueryHistory()` (definitely) and `WebHistoryService::QueryHistory()` (possibly, I don't have enough context to tell for sure). But maybe it's worthwhile to create a separate `QueryOptions`-like type for those methods that's missing `policy_for_404_visits`? Something like this:

    ```
    // Has all the fields that `QueryOptions` currently has.
    QueryOptionsBase
    |
    | // No additional fields.
    +-- UIQueryOptions : QueryOptionsBase
    |
    | // Adds `policy_for_404_visits` and maybe a ctor that takes a
    | // `UIQueryOptions`.
    +-- QueryOptions : QueryOptionsBase
    ```

    WDYT?

    Marc Treib

    So, `BrowsingHistoryService` is what actually populates chrome://history. It combines results from `HistoryService` (local history) and `WebHistoryService` (history downloaded from a Google server). `WebHistoryService` is mainly needed because it has 1 year's worth of history data, whereas the local history DB has only 3 months.

    `BrowsingHistoryService` itself doesn't really do anything, so it'd just need to pass through the param.
    `WebHistoryService` unfortunately can't really be updated to support a 404 policy, since it uses a legacy API that nobody wants to touch anymore. So it'll just return whatever history sync has uploaded.

    I don't really know what the conclusion is TBH. Maybe just put the new bool into the existing struct, and accept that `WebHistoryService` doesn't support it? Since there's not much we can do about it anyway - IIUC ideally we'd want it to always exclude 404s, but that's just not on the table unfortunately.

    Svend Larsen

    Okay, that SGTM. I'll put up a new patchset later today that adds `policy_for_404_visits` to `QueryOptions`, and documents that `WebHistoryService::QueryHistory` doesn't support `QueryOptions::policy_for_404_visits`. I'll also simplify the existing methods that take a separate 404s policy param and a `QueryOptions` param.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Marc Treib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
    Gerrit-Change-Number: 6940802
    Gerrit-PatchSet: 13
    Gerrit-Owner: Svend Larsen <sv...@chromium.org>
    Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
    Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
    Gerrit-CC: Andrew Liu <l...@chromium.org>
    Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
    Gerrit-Attention: Marc Treib <tr...@chromium.org>
    Gerrit-Comment-Date: Tue, 16 Sep 2025 17:30:54 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Svend Larsen (Gerrit)

    unread,
    Sep 16, 2025, 5:10:03 PM (yesterday) Sep 16
    to AyeAye, Andrew Liu, Kyra Seevers, Marc Treib, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Marc Treib

    Svend Larsen added 4 comments

    Commit Message
    Line 24, Patchset 12:to allow their callers to specify other QueryOptions.
    Marc Treib . unresolved

    Ugh, that's unfortunate... which ones are those (and how many)?
    The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

    Svend Larsen

    (Sorry for the delay, I was out for a good chunk of yesterday.) `GetAnnotatedVisits()` could indeed support a 404 policy. The other methods that I'm aware of are `BrowsingHistoryService::QueryHistory()` (definitely) and `WebHistoryService::QueryHistory()` (possibly, I don't have enough context to tell for sure). But maybe it's worthwhile to create a separate `QueryOptions`-like type for those methods that's missing `policy_for_404_visits`? Something like this:

    ```
    // Has all the fields that `QueryOptions` currently has.
    QueryOptionsBase
    |
    | // No additional fields.
    +-- UIQueryOptions : QueryOptionsBase
    |
    | // Adds `policy_for_404_visits` and maybe a ctor that takes a
    | // `UIQueryOptions`.
    +-- QueryOptions : QueryOptionsBase
    ```

    WDYT?

    Marc Treib

    So, `BrowsingHistoryService` is what actually populates chrome://history. It combines results from `HistoryService` (local history) and `WebHistoryService` (history downloaded from a Google server). `WebHistoryService` is mainly needed because it has 1 year's worth of history data, whereas the local history DB has only 3 months.

    `BrowsingHistoryService` itself doesn't really do anything, so it'd just need to pass through the param.
    `WebHistoryService` unfortunately can't really be updated to support a 404 policy, since it uses a legacy API that nobody wants to touch anymore. So it'll just return whatever history sync has uploaded.

    I don't really know what the conclusion is TBH. Maybe just put the new bool into the existing struct, and accept that `WebHistoryService` doesn't support it? Since there's not much we can do about it anyway - IIUC ideally we'd want it to always exclude 404s, but that's just not on the table unfortunately.

    Svend Larsen

    Okay, that SGTM. I'll put up a new patchset later today that adds `policy_for_404_visits` to `QueryOptions`, and documents that `WebHistoryService::QueryHistory` doesn't support `QueryOptions::policy_for_404_visits`. I'll also simplify the existing methods that take a separate 404s policy param and a `QueryOptions` param.

    Svend Larsen

    Done, PTAL! (This approach also had the side benefit of reducing the number of test files this CL has to touch.)

    File components/browsing_topics/test_util.cc
    Line 149, Patchset 12: std::u16string(), options, history::VisitQuery404sPolicy::kInclude404s,
    Marc Treib . resolved

    The corresponding prod code excludes 404s - is the difference intentional?

    Svend Larsen

    It wasn't! Fixed.

    File components/history/core/browser/history_backend.cc
    Line 2791, Patchset 12: VisitQuery404sPolicy::kExclude404s, &visits);
    Marc Treib . resolved

    `policy_for_404s`, and remove the TODO above

    Svend Larsen

    Done

    File components/history/core/browser/history_types.h
    Line 388, Patchset 15 (Latest): // Temporarily defaulted to `kExclude404s`; this may change in the future.
    // Callers are strongly encouraged to explicitly set a value, unless they are
    // certain that the handling of 404 visits is irrelevant for their use case.
    VisitQuery404sPolicy policy_for_404_visits =
    VisitQuery404sPolicy::kExclude404s;
    Svend Larsen . unresolved

    I considered three options here:

    1. default to `kExclude404s`;
    2. default to `kInclude404s`;
    2. don't default the member and let accesses error;
    3. don't default the member and add `CHECK`s inside methods that take a `QueryOptions` param.

    Option 3 produced errors that were less obvious than would be helpful, and option 4 would've been easy to miss if a new method were to be added, and would then have become option 3. Option 2 felt dangerous, in case I missed a caller that expected to exclude 404s.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Marc Treib
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
    Gerrit-Change-Number: 6940802
    Gerrit-PatchSet: 15
    Gerrit-Owner: Svend Larsen <sv...@chromium.org>
    Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
    Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
    Gerrit-CC: Andrew Liu <l...@chromium.org>
    Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
    Gerrit-Attention: Marc Treib <tr...@chromium.org>
    Gerrit-Comment-Date: Tue, 16 Sep 2025 21:09:56 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Marc Treib (Gerrit)

    unread,
    3:19 AM (19 hours ago) 3:19 AM
    to Svend Larsen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Svend Larsen

    Marc Treib voted and added 6 comments

    Votes added by Marc Treib

    Code-Review+1

    6 comments

    Patchset-level comments
    File-level comment, Patchset 15 (Latest):
    Marc Treib . resolved

    LGTM, thanks!

    Commit Message
    Line 24, Patchset 12:to allow their callers to specify other QueryOptions.
    Marc Treib . resolved

    Ugh, that's unfortunate... which ones are those (and how many)?
    The only query method that takes a QueryOptions but not 404policy which I could immediately find is `GetAnnotatedVisits`, and it seems like that one might as well support the 404policy too.

    Svend Larsen

    (Sorry for the delay, I was out for a good chunk of yesterday.) `GetAnnotatedVisits()` could indeed support a 404 policy. The other methods that I'm aware of are `BrowsingHistoryService::QueryHistory()` (definitely) and `WebHistoryService::QueryHistory()` (possibly, I don't have enough context to tell for sure). But maybe it's worthwhile to create a separate `QueryOptions`-like type for those methods that's missing `policy_for_404_visits`? Something like this:

    ```
    // Has all the fields that `QueryOptions` currently has.
    QueryOptionsBase
    |
    | // No additional fields.
    +-- UIQueryOptions : QueryOptionsBase
    |
    | // Adds `policy_for_404_visits` and maybe a ctor that takes a
    | // `UIQueryOptions`.
    +-- QueryOptions : QueryOptionsBase
    ```

    WDYT?

    Marc Treib

    So, `BrowsingHistoryService` is what actually populates chrome://history. It combines results from `HistoryService` (local history) and `WebHistoryService` (history downloaded from a Google server). `WebHistoryService` is mainly needed because it has 1 year's worth of history data, whereas the local history DB has only 3 months.

    `BrowsingHistoryService` itself doesn't really do anything, so it'd just need to pass through the param.
    `WebHistoryService` unfortunately can't really be updated to support a 404 policy, since it uses a legacy API that nobody wants to touch anymore. So it'll just return whatever history sync has uploaded.

    I don't really know what the conclusion is TBH. Maybe just put the new bool into the existing struct, and accept that `WebHistoryService` doesn't support it? Since there's not much we can do about it anyway - IIUC ideally we'd want it to always exclude 404s, but that's just not on the table unfortunately.

    Svend Larsen

    Okay, that SGTM. I'll put up a new patchset later today that adds `policy_for_404_visits` to `QueryOptions`, and documents that `WebHistoryService::QueryHistory` doesn't support `QueryOptions::policy_for_404_visits`. I'll also simplify the existing methods that take a separate 404s policy param and a `QueryOptions` param.

    Svend Larsen

    Done, PTAL! (This approach also had the side benefit of reducing the number of test files this CL has to touch.)

    Marc Treib

    Acknowledged

    File chrome/browser/ui/webui/history/browsing_history_handler_unittest.cc
    Line 125, Patchset 15 (Latest): /*max_count=*/150, history::VisitQuery404sPolicy::kExclude404s,
    Marc Treib . unresolved

    nit: `/*policy_for_404_visits=*/` (for consistency with all the other params)

    File components/history/core/browser/history_types.h
    Line 388, Patchset 15 (Latest): // Temporarily defaulted to `kExclude404s`; this may change in the future.
    // Callers are strongly encouraged to explicitly set a value, unless they are
    // certain that the handling of 404 visits is irrelevant for their use case.
    VisitQuery404sPolicy policy_for_404_visits =
    VisitQuery404sPolicy::kExclude404s;
    Svend Larsen . resolved

    I considered three options here:

    1. default to `kExclude404s`;
    2. default to `kInclude404s`;
    2. don't default the member and let accesses error;
    3. don't default the member and add `CHECK`s inside methods that take a `QueryOptions` param.

    Option 3 produced errors that were less obvious than would be helpful, and option 4 would've been easy to miss if a new method were to be added, and would then have become option 3. Option 2 felt dangerous, in case I missed a caller that expected to exclude 404s.

    Marc Treib

    All the other fields here are defaulted, so I wouldn't much like options 3 or 4.
    Between 1 and 2, I agree that 1 is safer for now, but maybe 2 would be the better long-term option? Anyway, I can live with either of them.

    File components/history/core/browser/visit_database_unittest.cc
    Line 680, Patchset 15 (Latest): options = QueryOptions(); // Reset options to default.
    Marc Treib . unresolved

    From here on, the policy will be "exclude" (the default), where previously it was "include". Intentional? I guess it doesn't really matter for the remaining checks.

    Line 863, Patchset 15 (Latest): options = QueryOptions(); // Reset options to default.
    Marc Treib . unresolved

    Same here - left to default on purpose?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Svend Larsen
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Svend Larsen <sv...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 07:18:51 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      1:44 PM (9 hours ago) 1:44 PM
      to Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

      Svend Larsen added 4 comments

      File chrome/browser/ui/webui/history/browsing_history_handler_unittest.cc
      Line 125, Patchset 15 (Latest): /*max_count=*/150, history::VisitQuery404sPolicy::kExclude404s,
      Marc Treib . resolved

      nit: `/*policy_for_404_visits=*/` (for consistency with all the other params)

      Svend Larsen

      Done

      File components/history/core/browser/history_types.h
      Line 388, Patchset 15 (Latest): // Temporarily defaulted to `kExclude404s`; this may change in the future.
      // Callers are strongly encouraged to explicitly set a value, unless they are
      // certain that the handling of 404 visits is irrelevant for their use case.
      VisitQuery404sPolicy policy_for_404_visits =
      VisitQuery404sPolicy::kExclude404s;
      Svend Larsen . resolved

      I considered three options here:

      1. default to `kExclude404s`;
      2. default to `kInclude404s`;
      2. don't default the member and let accesses error;
      3. don't default the member and add `CHECK`s inside methods that take a `QueryOptions` param.

      Option 3 produced errors that were less obvious than would be helpful, and option 4 would've been easy to miss if a new method were to be added, and would then have become option 3. Option 2 felt dangerous, in case I missed a caller that expected to exclude 404s.

      Marc Treib

      All the other fields here are defaulted, so I wouldn't much like options 3 or 4.
      Between 1 and 2, I agree that 1 is safer for now, but maybe 2 would be the better long-term option? Anyway, I can live with either of them.

      Svend Larsen

      Yeah, I think 2 is a better long-term option too — maybe that's a follow-up bug post-rollout. I added a TODO.

      File components/history/core/browser/visit_database_unittest.cc
      Line 680, Patchset 15 (Latest): options = QueryOptions(); // Reset options to default.
      Marc Treib . resolved

      From here on, the policy will be "exclude" (the default), where previously it was "include". Intentional? I guess it doesn't really matter for the remaining checks.

      Svend Larsen

      Yeah, my thought was that it didn't affect the rest of the test, so it was fine to leave defaulted.

      Line 863, Patchset 15 (Latest): options = QueryOptions(); // Reset options to default.
      Marc Treib . resolved

      Same here - left to default on purpose?

      Svend Larsen

      I didn't think it affected the remaining tests, but on second pass, it does — I added an extra query for a `max_count` including 404s.

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 17:44:07 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Svend Larsen <sv...@chromium.org>
      Comment-In-Reply-To: Marc Treib <tr...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      1:59 PM (9 hours ago) 1:59 PM
      to Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      shend@: PTAL for ash/quick_insert/.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Darren Shen <sh...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 17:59:14 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:10 PM (8 hours ago) 3:10 PM
      to Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen and Yao Xiao

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      yaoxia@: PTAL for components/browsing_topics/, in particular to confirm that BrowsingTopicsCalculator doesn't want to receive 404.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Yao Xiao
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Darren Shen <sh...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Yao Xiao <yao...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Yao Xiao <yao...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:10:44 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:12 PM (8 hours ago) 3:12 PM
      to manuk hovanesian, Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Yao Xiao and manuk hovanesian

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      manukh@: PTAL for components/history_clusters/.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Yao Xiao
      • manuk hovanesian
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Darren Shen <sh...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Yao Xiao <yao...@chromium.org>
      Gerrit-Reviewer: manuk hovanesian <man...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Yao Xiao <yao...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Attention: manuk hovanesian <man...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:11:54 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:12 PM (8 hours ago) 3:12 PM
      to manuk hovanesian, Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Yao Xiao and manuk hovanesian

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      manukh@: PTAL for components/history_clusters/.

      Svend Larsen

      And components/omnibox/browser/local_history_zero_suggest_provider.cc, if you feel comfortable.

      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:12:53 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Svend Larsen <sv...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:16 PM (7 hours ago) 3:16 PM
      to Roman Arora, manuk hovanesian, Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Roman Arora, Yao Xiao and manuk hovanesian

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      romanarora@: PTAL for components/visited_url_ranking/ (this is the change I chatted you about the other day).

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Roman Arora
      • Yao Xiao
      • manuk hovanesian
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Darren Shen <sh...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Roman Arora <roman...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Yao Xiao <yao...@chromium.org>
      Gerrit-Reviewer: manuk hovanesian <man...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Yao Xiao <yao...@chromium.org>
      Gerrit-Attention: Roman Arora <roman...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Attention: manuk hovanesian <man...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:16:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:31 PM (7 hours ago) 3:31 PM
      to Sergio Collazos, Roman Arora, manuk hovanesian, Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Roman Arora, Sergio Collazos, Yao Xiao and manuk hovanesian

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      sczs@: PTAL for ios/chrome/browser/history/ui_bundled/base_history_view_controller.mm.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Roman Arora
      • Sergio Collazos
      • Yao Xiao
      • manuk hovanesian
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: Iecf59e5dfba6e551b0be2b34d9f9aa4f36309053
      Gerrit-Change-Number: 6940802
      Gerrit-PatchSet: 15
      Gerrit-Owner: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Darren Shen <sh...@chromium.org>
      Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
      Gerrit-Reviewer: Roman Arora <roman...@chromium.org>
      Gerrit-Reviewer: Sergio Collazos <sc...@chromium.org>
      Gerrit-Reviewer: Svend Larsen <sv...@chromium.org>
      Gerrit-Reviewer: Yao Xiao <yao...@chromium.org>
      Gerrit-Reviewer: manuk hovanesian <man...@chromium.org>
      Gerrit-CC: Andrew Liu <l...@chromium.org>
      Gerrit-CC: Kyra Seevers <kyras...@chromium.org>
      Gerrit-Attention: Yao Xiao <yao...@chromium.org>
      Gerrit-Attention: Roman Arora <roman...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Attention: manuk hovanesian <man...@chromium.org>
      Gerrit-Attention: Sergio Collazos <sc...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:31:11 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Svend Larsen (Gerrit)

      unread,
      3:31 PM (7 hours ago) 3:31 PM
      to Sergio Collazos, Roman Arora, manuk hovanesian, Yao Xiao, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Roman Arora, Sergio Collazos, Yao Xiao and manuk hovanesian

      Svend Larsen added 1 comment

      Patchset-level comments
      Svend Larsen . resolved

      sczs@: PTAL for ios/chrome/browser/history/ui_bundled/base_history_view_controller.mm.

      Svend Larsen

      And ios/chrome/browser/tabs_search/model/tabs_search_service.mm, if you feel comfortable doing so.

      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:31:51 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Svend Larsen <sv...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yao Xiao (Gerrit)

      unread,
      3:42 PM (7 hours ago) 3:42 PM
      to Svend Larsen, Sergio Collazos, Roman Arora, manuk hovanesian, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Roman Arora, Sergio Collazos, Svend Larsen and manuk hovanesian

      Yao Xiao voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Roman Arora
      • Sergio Collazos
      • Svend Larsen
      • manuk hovanesian
      Gerrit-Attention: Roman Arora <roman...@chromium.org>
      Gerrit-Attention: Svend Larsen <sv...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Attention: manuk hovanesian <man...@chromium.org>
      Gerrit-Attention: Sergio Collazos <sc...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 19:42:36 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Roman Arora (Gerrit)

      unread,
      4:44 PM (6 hours ago) 4:44 PM
      to Svend Larsen, Yao Xiao, Sergio Collazos, manuk hovanesian, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Sergio Collazos, Svend Larsen and manuk hovanesian

      Roman Arora voted and added 1 comment

      Votes added by Roman Arora

      Code-Review+1

      1 comment

      Patchset-level comments
      Roman Arora . resolved

      LGTM For components/visited_url_ranking/internal/history_url_visit_data_fetcher.cc

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      Gerrit-Attention: Svend Larsen <sv...@chromium.org>
      Gerrit-Attention: Darren Shen <sh...@chromium.org>
      Gerrit-Attention: manuk hovanesian <man...@chromium.org>
      Gerrit-Attention: Sergio Collazos <sc...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 20:43:59 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      manuk hovanesian (Gerrit)

      unread,
      5:38 PM (5 hours ago) 5:38 PM
      to Svend Larsen, Roman Arora, Yao Xiao, Sergio Collazos, Darren Shen, Marc Treib, AyeAye, Andrew Liu, Kyra Seevers, Chromium LUCI CQ, chromium...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org, ios-revie...@chromium.org, bmcquad...@chromium.org, browser-comp...@chromium.org, christia...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, chromium-a...@chromium.org, csharris...@chromium.org, dullweb...@chromium.org, extension...@chromium.org, jdonnel...@chromium.org, loading-rev...@chromium.org, mac-r...@chromium.org, msrame...@chromium.org, omnibox-...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Darren Shen, Sergio Collazos and Svend Larsen

      manuk hovanesian voted and added 1 comment

      Votes added by manuk hovanesian

      Code-Review+1

      1 comment

      Patchset-level comments
      manuk hovanesian . resolved

      lgtm

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Darren Shen
      • Sergio Collazos
      • Svend Larsen
      Gerrit-Attention: Sergio Collazos <sc...@chromium.org>
      Gerrit-Comment-Date: Wed, 17 Sep 2025 21:38:05 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages