[Extensions] Fix crash in ExtensionTabUtil::IsTabStripEditable [chromium/src : main]

0 views
Skip to first unread message

Di Wu (Gerrit)

unread,
Feb 19, 2026, 9:25:17 PM (4 hours ago) Feb 19
to Devlin Cronin, James Cook, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Devlin Cronin and James Cook

Di Wu added 1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Di Wu . unresolved

Hi @jame...@chromium.org @rdevlin...@chromium.org, here on ChromeOS we got a fresh dev channel [crash] that I suspect has to do with https://crrev.com/c/7549567. I am aware that Devlin has a longer-term migration plan to migrate to TabListInterface::CanEditTabList(), by which point this crashing code patch will become irrelevant. Before that plan happens, here is a CL that hopefully will patch the leakage for the time being. Please review, thanks.

[crash]:https://crbug.com/484611645

Open in Gerrit

Related details

Attention is currently required from:
  • Devlin Cronin
  • James Cook
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: Ie6ebd198711e7ee7ac5454655b535e10b053a9d8
Gerrit-Change-Number: 7596693
Gerrit-PatchSet: 2
Gerrit-Owner: Di Wu <di...@google.com>
Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Reviewer: Di Wu <di...@google.com>
Gerrit-Reviewer: James Cook <jame...@chromium.org>
Gerrit-Attention: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Attention: James Cook <jame...@chromium.org>
Gerrit-Comment-Date: Fri, 20 Feb 2026 02:24:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

James Cook (Gerrit)

unread,
Feb 19, 2026, 10:35:01 PM (3 hours ago) Feb 19
to Di Wu, Devlin Cronin, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Devlin Cronin and Di Wu

James Cook voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Devlin Cronin
  • Di Wu
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • 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: Ie6ebd198711e7ee7ac5454655b535e10b053a9d8
Gerrit-Change-Number: 7596693
Gerrit-PatchSet: 2
Gerrit-Owner: Di Wu <di...@google.com>
Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Reviewer: Di Wu <di...@google.com>
Gerrit-Reviewer: James Cook <jame...@chromium.org>
Gerrit-Attention: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Attention: Di Wu <di...@google.com>
Gerrit-Comment-Date: Fri, 20 Feb 2026 03:34:51 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Di Wu (Gerrit)

unread,
Feb 19, 2026, 10:53:33 PM (3 hours ago) Feb 19
to James Cook, Devlin Cronin, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org
Attention needed from Devlin Cronin

Di Wu voted and added 1 comment

Votes added by Di Wu

Commit-Queue+2

1 comment

Patchset-level comments
Di Wu . resolved

Hi @jame...@chromium.org @rdevlin...@chromium.org, here on ChromeOS we got a fresh dev channel [crash] that I suspect has to do with https://crrev.com/c/7549567. I am aware that Devlin has a longer-term migration plan to migrate to TabListInterface::CanEditTabList(), by which point this crashing code patch will become irrelevant. Before that plan happens, here is a CL that hopefully will patch the leakage for the time being. Please review, thanks.

[crash]:https://crbug.com/484611645

Related details

Attention is currently required from:
  • Devlin Cronin
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: Ie6ebd198711e7ee7ac5454655b535e10b053a9d8
    Gerrit-Change-Number: 7596693
    Gerrit-PatchSet: 2
    Gerrit-Owner: Di Wu <di...@google.com>
    Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
    Gerrit-Reviewer: Di Wu <di...@google.com>
    Gerrit-Reviewer: James Cook <jame...@chromium.org>
    Gerrit-Attention: Devlin Cronin <rdevlin...@chromium.org>
    Gerrit-Comment-Date: Fri, 20 Feb 2026 03:53:09 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Di Wu <di...@google.com>
    satisfied_requirement
    open
    diffy

    Chromium LUCI CQ (Gerrit)

    unread,
    Feb 19, 2026, 10:56:17 PM (3 hours ago) Feb 19
    to Di Wu, James Cook, Devlin Cronin, AyeAye, chromium...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org

    Chromium LUCI CQ submitted the change

    Change information

    Commit message:
    [Extensions] Fix crash in ExtensionTabUtil::IsTabStripEditable

    On platforms like ChromeOS, WindowControllerList can contain non-browser
    windows. For these windows, calling GetBrowserWindowInterface() returns
    a null pointer.

    Previously, ExtensionTabUtil::IsTabStripEditable() passed this result
    directly into TabListInterface::From(). Because TabListInterface::From()
    implicitly expects a valid pointer to fetch the UnownedUserDataHost,
    passing nullptr resulted in a crash deep within std::map::find during
    user data lookup in ui::UnownedUserDataHost::GetImpl.

    This CL fixes the crash by explicitly checking if the
    BrowserWindowInterface is valid before attempting to query its tab list
    interface. Non-browser windows are now safely skipped. This fixes the
    immediate crash without interfering with the longer-term migration to
    TabListInterface::CanEditTabList() tracked in
    https://crbug.com/482088886.
    Bug: 484611645
    Test: CQ
    Change-Id: Ie6ebd198711e7ee7ac5454655b535e10b053a9d8
    Reviewed-by: James Cook <jame...@chromium.org>
    Commit-Queue: Di Wu <di...@google.com>
    Cr-Commit-Position: refs/heads/main@{#1587604}
    Files:
    • M chrome/browser/extensions/extension_tab_util.cc
    Change size: XS
    Delta: 1 file changed, 7 insertions(+), 1 deletion(-)
    Branch: refs/heads/main
    Submit Requirements:
    • requirement satisfiedCode-Review: +1 by James Cook
    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: Ie6ebd198711e7ee7ac5454655b535e10b053a9d8
    Gerrit-Change-Number: 7596693
    Gerrit-PatchSet: 3
    Gerrit-Owner: Di Wu <di...@google.com>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
    Gerrit-Reviewer: Di Wu <di...@google.com>
    Gerrit-Reviewer: James Cook <jame...@chromium.org>
    open
    diffy
    satisfied_requirement
    Reply all
    Reply to author
    Forward
    0 new messages