Introduce TopChromeWebUIDialogDelegate [chromium/src : main]

0 views
Skip to first unread message

Dana Fried (Gerrit)

unread,
Apr 10, 2026, 4:41:37 PMApr 10
to Foromo Daniel Soromou, Tom Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
Attention needed from Foromo Daniel Soromou and Tom Lukaszewicz

Dana Fried added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Dana Fried . unresolved

Please get tests working and resolve this comment. Thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Foromo Daniel Soromou
  • Tom Lukaszewicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 4
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Tom Lukaszewicz <tl...@chromium.org>
Gerrit-Attention: Tom Lukaszewicz <tl...@chromium.org>
Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Comment-Date: Fri, 10 Apr 2026 20:41:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Tom Lukaszewicz (Gerrit)

unread,
Apr 12, 2026, 7:22:50 PMApr 12
to Foromo Daniel Soromou, Dana Fried, Chromium LUCI CQ, chromium...@chromium.org
Attention needed from Foromo Daniel Soromou

Tom Lukaszewicz added 9 comments

File chrome/browser/ui/views/web_dialogs/top_chrome_webui_dialog_delegate.h
Line 88, Patchset 4 (Latest): WebDialogSpec spec_;
Tom Lukaszewicz . unresolved

nit: Should this be `const WebDialogSpec`?

Line 61, Patchset 4 (Latest): // Creates and shows a dialog with the given `contents_wrapper` and `spec`.
// Returns the created widget. The caller does not own the returned widget.
static views::Widget* Show(
gfx::NativeWindow parent,
std::unique_ptr<WebUIContentsWrapper> contents_wrapper,
const WebDialogSpec& spec);
Tom Lukaszewicz . unresolved

nit: Could we move this below constructor / destructor (see [declaration order](https://google.github.io/styleguide/cppguide.html#Declaration_Order))

Line 57, Patchset 4 (Latest):class TopChromeWebUIDialogDelegate : public views::DialogDelegate,
Tom Lukaszewicz . unresolved

nit: Similar to above - we should probably drop the top-chrome prefix, or figure out a different prefix (maybe just `ChromeWebUIDialog` is good enough)

Line 38, Patchset 4 (Latest): // If true, applies corner radius clipping to the WebContents to match the
// dialog's rounded corners. This prevents WebUI content from bleeding
// through rounded corners.
bool apply_corner_radius_clipping = true;
Tom Lukaszewicz . unresolved

QQ - is this ever not true?

Line 20, Patchset 4 (Latest):namespace top_chrome_webui_dialog {
Tom Lukaszewicz . unresolved

nit: I think we can just drop `top_chrome` prefix since since it doesn't quite make sense for dialogs to be top-chrome

File chrome/browser/ui/views/web_dialogs/top_chrome_webui_dialog_delegate.cc
Line 34, Patchset 4 (Latest): std::move(delegate), parent);
Tom Lukaszewicz . unresolved

optional: It may be easier to simply inline the above (current approach is file also)

Line 93, Patchset 4 (Latest): gfx::NativeWindow native_window = GetWidget()->GetNativeWindow();
Tom Lukaszewicz . unresolved

Does it work to get the work area directly from the widget (i.e. `Widget::GetWorkAreaBoundsInScreen()` vs getting it via the NativeWindow / Display?

Line 98, Patchset 4 (Latest): // Leave a small margin for aesthetics.
Tom Lukaszewicz . unresolved
nit: Could we put the magic constants below into a variable just above? i.e.
```
constexpr int kAestheticMargin = 64;
const int max_height = work_area.height() - kAestheticMargin;
const int max_width = work_area.width() - kAestheticMargin;
```

Also is there a UX reason for this or is this an engineering decision?

Line 112, Patchset 4 (Latest): // Resize the widget to fit the new preferred size of the contents.
// The non-client view includes the window frame, so this ensures the
// entire dialog is sized correctly.
GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
Tom Lukaszewicz . unresolved

QQ - Does the widget not automatically compute the preferred size of its View hierarchy in this case?

Open in Gerrit

Related details

Attention is currently required from:
  • Foromo Daniel Soromou
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 4
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Tom Lukaszewicz <tl...@chromium.org>
Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Comment-Date: Sun, 12 Apr 2026 23:22:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Foromo Daniel Soromou (Gerrit)

unread,
Apr 13, 2026, 3:57:39 PMApr 13
to Dana Fried, Thomas Lukaszewicz, chromiu...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org
Attention needed from Dana Fried and Thomas Lukaszewicz

Foromo Daniel Soromou added 10 comments

Patchset-level comments
File-level comment, Patchset 4:
Dana Fried . resolved

Please get tests working and resolve this comment. Thanks!

Foromo Daniel Soromou

Done

File chrome/browser/ui/views/web_dialogs/top_chrome_webui_dialog_delegate.h
Line 88, Patchset 4: WebDialogSpec spec_;
Thomas Lukaszewicz . resolved

nit: Should this be `const WebDialogSpec`?

Foromo Daniel Soromou

Done

Line 61, Patchset 4: // Creates and shows a dialog with the given `contents_wrapper` and `spec`.

// Returns the created widget. The caller does not own the returned widget.
static views::Widget* Show(
gfx::NativeWindow parent,
std::unique_ptr<WebUIContentsWrapper> contents_wrapper,
const WebDialogSpec& spec);
Thomas Lukaszewicz . resolved

nit: Could we move this below constructor / destructor (see [declaration order](https://google.github.io/styleguide/cppguide.html#Declaration_Order))

Foromo Daniel Soromou

Done

Line 57, Patchset 4:class TopChromeWebUIDialogDelegate : public views::DialogDelegate,
Thomas Lukaszewicz . resolved

nit: Similar to above - we should probably drop the top-chrome prefix, or figure out a different prefix (maybe just `ChromeWebUIDialog` is good enough)

Foromo Daniel Soromou

Done

Line 38, Patchset 4: // If true, applies corner radius clipping to the WebContents to match the

// dialog's rounded corners. This prevents WebUI content from bleeding
// through rounded corners.
bool apply_corner_radius_clipping = true;
Thomas Lukaszewicz . resolved

QQ - is this ever not true?

Foromo Daniel Soromou

oh yes, all our dialog have the rounded corners, what will make the differents may be the raduis, So I have updated it to allow callers to provide the radius or it will defaults to the Chrome system dialog raduis.

Line 20, Patchset 4:namespace top_chrome_webui_dialog {
Thomas Lukaszewicz . resolved

nit: I think we can just drop `top_chrome` prefix since since it doesn't quite make sense for dialogs to be top-chrome

Foromo Daniel Soromou

Done

File chrome/browser/ui/views/web_dialogs/top_chrome_webui_dialog_delegate.cc
Line 34, Patchset 4: std::move(delegate), parent);
Thomas Lukaszewicz . resolved

optional: It may be easier to simply inline the above (current approach is file also)

Foromo Daniel Soromou

Done

Line 93, Patchset 4: gfx::NativeWindow native_window = GetWidget()->GetNativeWindow();
Thomas Lukaszewicz . resolved

Does it work to get the work area directly from the widget (i.e. `Widget::GetWorkAreaBoundsInScreen()` vs getting it via the NativeWindow / Display?

Foromo Daniel Soromou

Yes It works. Updated

Line 98, Patchset 4: // Leave a small margin for aesthetics.
Thomas Lukaszewicz . resolved
nit: Could we put the magic constants below into a variable just above? i.e.
```
constexpr int kAestheticMargin = 64;
const int max_height = work_area.height() - kAestheticMargin;
const int max_width = work_area.width() - kAestheticMargin;
```

Also is there a UX reason for this or is this an engineering decision?

Foromo Daniel Soromou

it was just an engineering decision. But I removed it since in general, dialogs are not expected to be big to occupy the whole screen.

Line 112, Patchset 4: // Resize the widget to fit the new preferred size of the contents.

// The non-client view includes the window frame, so this ensures the
// entire dialog is sized correctly.
GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
Thomas Lukaszewicz . unresolved

QQ - Does the widget not automatically compute the preferred size of its View hierarchy in this case?

Foromo Daniel Soromou

It does compute the new preferred size internally, but setting `SetPreferredSize()` on a View only invalidates the layout hierarchy—it doesn't automatically resize the underlying physical OS window (views::Widget) on the screen. We have to explicitly call SetSize(...) on the Widget to force the native window to actually expand or shrink.

Open in Gerrit

Related details

Attention is currently required from:
  • Dana Fried
  • Thomas Lukaszewicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 7
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-Attention: Dana Fried <dfr...@chromium.org>
Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-Comment-Date: Mon, 13 Apr 2026 19:57:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Dana Fried <dfr...@chromium.org>
Comment-In-Reply-To: Thomas Lukaszewicz <tl...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Lukaszewicz (Gerrit)

unread,
Apr 13, 2026, 10:52:24 PMApr 13
to Foromo Daniel Soromou, Dana Fried, chromiu...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org
Attention needed from Dana Fried and Foromo Daniel Soromou

Thomas Lukaszewicz added 7 comments

File chrome/browser/ui/views/web_dialogs/README.md
Line 19, Patchset 7 (Latest):* **`apply_corner_radius_clipping`**: Automatically clips the WebUI content to match the rounded corners of the dialog frame. This prevents content from bleeding through rounded corners.
Thomas Lukaszewicz . unresolved

May need to update this for corner radius changes.

Line 41, Patchset 7 (Latest):top_chrome_webui_dialog::WebDialogSpec spec;
Thomas Lukaszewicz . unresolved

nit: namespace name

Line 47, Patchset 7 (Latest):views::Widget* widget = top_chrome_webui_dialog::TopChromeWebUIDialogDelegate::Show(
Thomas Lukaszewicz . unresolved

nit: Dialog name (here and elsewhere)

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
Line 33, Patchset 7 (Latest):
// If true, the `max_size` will be clamped to the display's work area to
// ensure the dialog fits on screen.
bool clamp_to_work_area = true;
Thomas Lukaszewicz . unresolved

QQ will this ever be false?

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
Line 54, Patchset 7 (Latest): web_view_->SetPreferredSize(spec_.min_size);
Thomas Lukaszewicz . unresolved

We can probably do `web_view_->EnableSizingFromWebContents(spec_.min_size, spec_.max_size);` here instead of calling `EnableAutoResize` directly on the rwhv below.

This also propagates size constraints across crashes and navigations (which the current approach won't handle)

Line 87, Patchset 7 (Latest): gfx::Size bounded_size = new_size;
Thomas Lukaszewicz . unresolved

Do we need to check `clamp_to_work_area` here?

Line 91, Patchset 7 (Latest): const int max_height = work_area.height();
Thomas Lukaszewicz . unresolved

Do we need to also consider the sizes in `spec_` when clamping size here? Or will `ResizeDueToAutoResize` only return sizes within the clamped constrains set in the constructor (in either case we should document the expected behavior in a comment somewhere)

Open in Gerrit

Related details

Attention is currently required from:
  • Dana Fried
  • Foromo Daniel Soromou
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 7
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-Attention: Dana Fried <dfr...@chromium.org>
Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Comment-Date: Tue, 14 Apr 2026 02:51:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Foromo Daniel Soromou (Gerrit)

unread,
Apr 14, 2026, 10:17:57 AMApr 14
to Muhammad Salmaan, Dana Fried, Thomas Lukaszewicz, chromiu...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org
Attention needed from Dana Fried and Thomas Lukaszewicz

Foromo Daniel Soromou added 7 comments

File chrome/browser/ui/views/web_dialogs/README.md
Line 19, Patchset 7:* **`apply_corner_radius_clipping`**: Automatically clips the WebUI content to match the rounded corners of the dialog frame. This prevents content from bleeding through rounded corners.
Thomas Lukaszewicz . resolved

May need to update this for corner radius changes.

Foromo Daniel Soromou

Done

Line 41, Patchset 7:top_chrome_webui_dialog::WebDialogSpec spec;
Thomas Lukaszewicz . resolved

nit: namespace name

Foromo Daniel Soromou

Done

Line 47, Patchset 7:views::Widget* widget = top_chrome_webui_dialog::TopChromeWebUIDialogDelegate::Show(
Thomas Lukaszewicz . resolved

nit: Dialog name (here and elsewhere)

Foromo Daniel Soromou

Done

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h

// If true, the `max_size` will be clamped to the display's work area to
// ensure the dialog fits on screen.
bool clamp_to_work_area = true;
Thomas Lukaszewicz . resolved

QQ will this ever be false?

Foromo Daniel Soromou

No, removed, it's no longer used.

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
Line 54, Patchset 7: web_view_->SetPreferredSize(spec_.min_size);
Thomas Lukaszewicz . resolved

We can probably do `web_view_->EnableSizingFromWebContents(spec_.min_size, spec_.max_size);` here instead of calling `EnableAutoResize` directly on the rwhv below.

This also propagates size constraints across crashes and navigations (which the current approach won't handle)

Foromo Daniel Soromou

Oh Great. Updated.

Line 87, Patchset 7: gfx::Size bounded_size = new_size;
Thomas Lukaszewicz . resolved

Do we need to check `clamp_to_work_area` here?

Foromo Daniel Soromou

`clamp_to_work_area` has been removed. By default, it will be assumed that the dialog will be limited by the work area.

Line 91, Patchset 7: const int max_height = work_area.height();
Thomas Lukaszewicz . resolved

Do we need to also consider the sizes in `spec_` when clamping size here? Or will `ResizeDueToAutoResize` only return sizes within the clamped constrains set in the constructor (in either case we should document the expected behavior in a comment somewhere)

Foromo Daniel Soromou

Yes. That is a good point. Udpated.

Open in Gerrit

Related details

Attention is currently required from:
  • Dana Fried
  • Thomas Lukaszewicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 8
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-Comment-Date: Tue, 14 Apr 2026 14:17:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Thomas Lukaszewicz <tl...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Lukaszewicz (Gerrit)

unread,
Apr 14, 2026, 3:23:42 PMApr 14
to Foromo Daniel Soromou, Muhammad Salmaan, Dana Fried, chromiu...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org
Attention needed from Dana Fried and Foromo Daniel Soromou

Thomas Lukaszewicz added 3 comments

Patchset-level comments
File-level comment, Patchset 9 (Latest):
Thomas Lukaszewicz . resolved

Thanks! Overall looks good % comments and failing test cases

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
Line 108, Patchset 9 (Latest): if (bounded_size.height() > max_height) {
Thomas Lukaszewicz . unresolved

I believe `bounded_size` represents the size of the web content but not necessarily the window (which includes things like borders and shadows).

We should calculate the max content size as the work_area size insetted by the frame size, which we can get using
```
gfx::Size frame_size =
GetWidget()->non_client_view()
->GetWindowBoundsForClientBounds(gfx::Rect()).size();
```
Line 120, Patchset 9 (Latest): GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
Thomas Lukaszewicz . unresolved

nit: We should probably make this `CenterWindow` so that the dialog remains centered as its size changes.

Open in Gerrit

Related details

Attention is currently required from:
  • Dana Fried
  • Foromo Daniel Soromou
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
Gerrit-Change-Number: 7747107
Gerrit-PatchSet: 9
Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
Gerrit-Attention: Dana Fried <dfr...@chromium.org>
Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
Gerrit-Comment-Date: Tue, 14 Apr 2026 19:23:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Foromo Daniel Soromou (Gerrit)

unread,
Apr 14, 2026, 7:38:55 PMApr 14
to Muhammad Salmaan, Dana Fried, Thomas Lukaszewicz, chromiu...@luci-project-accounts.iam.gserviceaccount.com, chromium...@chromium.org
Attention needed from Dana Fried and Thomas Lukaszewicz

Foromo Daniel Soromou added 3 comments

File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
Line 108, Patchset 9: if (bounded_size.height() > max_height) {
Thomas Lukaszewicz . resolved

I believe `bounded_size` represents the size of the web content but not necessarily the window (which includes things like borders and shadows).

We should calculate the max content size as the work_area size insetted by the frame size, which we can get using
```
gfx::Size frame_size =
GetWidget()->non_client_view()
->GetWindowBoundsForClientBounds(gfx::Rect()).size();
```
Foromo Daniel Soromou

Done

Line 120, Patchset 9: GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
Thomas Lukaszewicz . resolved

nit: We should probably make this `CenterWindow` so that the dialog remains centered as its size changes.

Foromo Daniel Soromou

Done

File chrome/browser/ui/views/web_dialogs/top_chrome_webui_dialog_delegate.cc
Line 112, Patchset 4: // Resize the widget to fit the new preferred size of the contents.

// The non-client view includes the window frame, so this ensures the
// entire dialog is sized correctly.
GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
Thomas Lukaszewicz . resolved

QQ - Does the widget not automatically compute the preferred size of its View hierarchy in this case?

Foromo Daniel Soromou

It does compute the new preferred size internally, but setting `SetPreferredSize()` on a View only invalidates the layout hierarchy—it doesn't automatically resize the underlying physical OS window (views::Widget) on the screen. We have to explicitly call SetSize(...) on the Widget to force the native window to actually expand or shrink.

Foromo Daniel Soromou

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Dana Fried
  • Thomas Lukaszewicz
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
    Gerrit-Change-Number: 7747107
    Gerrit-PatchSet: 11
    Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
    Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
    Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
    Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
    Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
    Gerrit-Attention: Dana Fried <dfr...@chromium.org>
    Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
    Gerrit-Comment-Date: Tue, 14 Apr 2026 23:38:47 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Thomas Lukaszewicz <tl...@chromium.org>
    Comment-In-Reply-To: Foromo Daniel Soromou <koreta...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Dana Fried (Gerrit)

    unread,
    Apr 16, 2026, 11:05:19 AMApr 16
    to Foromo Daniel Soromou, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
    Attention needed from Foromo Daniel Soromou and Thomas Lukaszewicz

    Dana Fried added 5 comments

    File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
    Line 66, Patchset 14 (Latest): static views::Widget* Show(
    Dana Fried . unresolved

    What is the widget ownership mode used here?

    If it is CLIENT_OWNS_WIDGET (which ideally it should be as that is now standard), this should be a `unique_ptr`.

    If the modal system still uses an outdated widget mode and there's no way to override it, then a bare widget pointer is fine.

    Line 45, Patchset 14 (Latest):// A reusable dialog delegate that hosts a TopChrome WebUI page.
    Dana Fried . unresolved

    This does not describe what this actually does, since it only creates browser-modal dialogs. We _rarely_ use browser-modal dialogs.

    File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
    Line 32, Patchset 14 (Latest): views::Widget* widget = constrained_window::CreateBrowserModalDialogViews(
    Dana Fried . unresolved

    Are you sure we always want to make the dialog modal? Can we have modality options?

    Can these be anchored? Or is this very specific to one use case?

    Line 75, Patchset 14 (Latest): if (GetWidget() && !GetWidget()->IsVisible()) {
    Dana Fried . unresolved

    Note that on some platforms this may be asynchronous with whether Show() has been called. It shouldn't probably cause any issues, just be aware.

    Line 142, Patchset 14 (Latest): web_view_->holder()->SetCornerRadii(
    Dana Fried . unresolved

    This is a case where corising@'s work on side panels with web views might be relevant. At the very least, I would recommend tagging one of the related bugs here, as ideally we should just be able to set rounded corners on the top level layer and not have to burrow into the holder.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Foromo Daniel Soromou
    • Thomas Lukaszewicz
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
      Gerrit-Change-Number: 7747107
      Gerrit-PatchSet: 14
      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
      Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
      Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
      Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
      Gerrit-Comment-Date: Thu, 16 Apr 2026 15:05:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Dana Fried (Gerrit)

      unread,
      Apr 16, 2026, 11:07:39 AMApr 16
      to Foromo Daniel Soromou, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
      Attention needed from Foromo Daniel Soromou and Thomas Lukaszewicz

      Dana Fried added 1 comment

      Patchset-level comments
      File-level comment, Patchset 14 (Latest):
      Dana Fried . unresolved

      You appear to be leaking memory on exit (or something else that is offending the asan build).

      Gerrit-Comment-Date: Thu, 16 Apr 2026 15:07:35 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Foromo Daniel Soromou (Gerrit)

      unread,
      Apr 17, 2026, 10:43:12 AM (13 days ago) Apr 17
      to Muhammad Salmaan, Dana Fried, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
      Attention needed from Dana Fried

      Foromo Daniel Soromou added 6 comments

      Patchset-level comments

      You appear to be leaking memory on exit (or something else that is offending the asan build).

      Foromo Daniel Soromou

      Done

      File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
      Line 66, Patchset 14: static views::Widget* Show(
      Dana Fried . resolved

      What is the widget ownership mode used here?

      If it is CLIENT_OWNS_WIDGET (which ideally it should be as that is now standard), this should be a `unique_ptr`.

      If the modal system still uses an outdated widget mode and there's no way to override it, then a bare widget pointer is fine.

      Foromo Daniel Soromou

      Updated to be a `CLIENT_OWNS_WIDGET`.

      Line 45, Patchset 14:// A reusable dialog delegate that hosts a TopChrome WebUI page.
      Dana Fried . resolved

      This does not describe what this actually does, since it only creates browser-modal dialogs. We _rarely_ use browser-modal dialogs.

      Foromo Daniel Soromou

      Updated to not be modal dialog only.

      File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
      Line 32, Patchset 14: views::Widget* widget = constrained_window::CreateBrowserModalDialogViews(
      Dana Fried . resolved

      Are you sure we always want to make the dialog modal? Can we have modality options?

      Can these be anchored? Or is this very specific to one use case?

      Foromo Daniel Soromou

      I have update the Spec to take the modality.

      Line 75, Patchset 14: if (GetWidget() && !GetWidget()->IsVisible()) {
      Dana Fried . resolved

      Note that on some platforms this may be asynchronous with whether Show() has been called. It shouldn't probably cause any issues, just be aware.

      Foromo Daniel Soromou

      Done

      Line 142, Patchset 14: web_view_->holder()->SetCornerRadii(
      Dana Fried . resolved

      This is a case where corising@'s work on side panels with web views might be relevant. At the very least, I would recommend tagging one of the related bugs here, as ideally we should just be able to set rounded corners on the top level layer and not have to burrow into the holder.

      Foromo Daniel Soromou

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Dana Fried
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
        Gerrit-Change-Number: 7747107
        Gerrit-PatchSet: 17
        Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
        Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
        Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
        Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
        Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
        Gerrit-Attention: Dana Fried <dfr...@chromium.org>
        Gerrit-Comment-Date: Fri, 17 Apr 2026 14:43:02 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Dana Fried <dfr...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Dana Fried (Gerrit)

        unread,
        Apr 17, 2026, 11:36:23 AM (13 days ago) Apr 17
        to Foromo Daniel Soromou, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
        Attention needed from Foromo Daniel Soromou and Thomas Lukaszewicz

        Dana Fried added 1 comment

        File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
        Line 25, Patchset 17 (Latest):struct WebDialogSpec {
        Dana Fried . unresolved

        This still needs to be updated and the class renamed to indicate that it is always a browser-window-modal dialog.

        I'm still not sure why you would want this to be a browser-window-modal dialog, since the uses of those are extremely limited. Can you give me an idea of what you want to use this for?

        In general, most dialogs should *not* be modal.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Foromo Daniel Soromou
        • Thomas Lukaszewicz
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
          Gerrit-Change-Number: 7747107
          Gerrit-PatchSet: 17
          Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
          Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
          Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
          Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
          Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
          Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
          Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
          Gerrit-Comment-Date: Fri, 17 Apr 2026 15:36:16 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Foromo Daniel Soromou (Gerrit)

          unread,
          Apr 17, 2026, 11:40:08 AM (13 days ago) Apr 17
          to Muhammad Salmaan, Dana Fried, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
          Attention needed from Dana Fried and Thomas Lukaszewicz

          Foromo Daniel Soromou added 1 comment

          File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
          Line 25, Patchset 17 (Latest):struct WebDialogSpec {
          Dana Fried . unresolved

          This still needs to be updated and the class renamed to indicate that it is always a browser-window-modal dialog.

          I'm still not sure why you would want this to be a browser-window-modal dialog, since the uses of those are extremely limited. Can you give me an idea of what you want to use this for?

          In general, most dialogs should *not* be modal.

          Foromo Daniel Soromou

          My understand is that when the modality is `ModalType::kNone`, the dialog will be a non-modal dialog right?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dana Fried
          • Thomas Lukaszewicz
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement 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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
          Gerrit-Change-Number: 7747107
          Gerrit-PatchSet: 17
          Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
          Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
          Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
          Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
          Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
          Gerrit-Attention: Dana Fried <dfr...@chromium.org>
          Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
          Gerrit-Comment-Date: Fri, 17 Apr 2026 15:40:01 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Dana Fried <dfr...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Foromo Daniel Soromou (Gerrit)

          unread,
          Apr 17, 2026, 11:42:56 AM (13 days ago) Apr 17
          to Muhammad Salmaan, Dana Fried, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
          Attention needed from Dana Fried and Thomas Lukaszewicz

          Foromo Daniel Soromou added 1 comment

          File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
          Line 25, Patchset 17 (Latest):struct WebDialogSpec {
          Dana Fried . unresolved

          This still needs to be updated and the class renamed to indicate that it is always a browser-window-modal dialog.

          I'm still not sure why you would want this to be a browser-window-modal dialog, since the uses of those are extremely limited. Can you give me an idea of what you want to use this for?

          In general, most dialogs should *not* be modal.

          Foromo Daniel Soromou

          My understand is that when the modality is `ModalType::kNone`, the dialog will be a non-modal dialog right?

          Foromo Daniel Soromou

          Currently we condiationally creat the Dialog base on the modality parameter:

          ```
          if (spec.modal_type == ui::mojom::ModalType::kChild) {
          CHECK(spec.parent_web_contents)
          << "kChild (tab-modal) dialogs require spec.parent_web_contents";
          widget = constrained_window::CreateWebModalDialogViews(
          dialog.release(), spec.parent_web_contents);
          } else if (spec.modal_type == ui::mojom::ModalType::kWindow ||
          spec.modal_type == ui::mojom::ModalType::kSystem) {
          widget = constrained_window::CreateBrowserModalDialogViews(dialog.release(),
          parent);
          } else {
          // Allows for non-modal unanchored dialog options.
          widget = views::DialogDelegate::CreateDialogWidget(
          dialog.release(), /*context=*/parent,
          /*parent=*/gfx::NativeView());
          }
          ```
          Gerrit-Comment-Date: Fri, 17 Apr 2026 15:42:48 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Dana Fried <dfr...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Dana Fried (Gerrit)

          unread,
          Apr 17, 2026, 12:00:28 PM (13 days ago) Apr 17
          to Foromo Daniel Soromou, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
          Attention needed from Foromo Daniel Soromou and Thomas Lukaszewicz

          Dana Fried voted and added 2 comments

          Votes added by Dana Fried

          Code-Review+1

          2 comments

          File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
          Line 81, Patchset 18 (Latest): // Returns the created widget. The caller does not own the returned widget.
          // By default, the Widget returned is CLIENT_OWNS_WIDGET. There the caller is
          // responsible to manage the lifetime.
          Dana Fried . unresolved

          These seem to conflict.

          Line 25, Patchset 17:struct WebDialogSpec {
          Dana Fried . resolved

          This still needs to be updated and the class renamed to indicate that it is always a browser-window-modal dialog.

          I'm still not sure why you would want this to be a browser-window-modal dialog, since the uses of those are extremely limited. Can you give me an idea of what you want to use this for?

          In general, most dialogs should *not* be modal.

          Foromo Daniel Soromou

          My understand is that when the modality is `ModalType::kNone`, the dialog will be a non-modal dialog right?

          Foromo Daniel Soromou

          Currently we condiationally creat the Dialog base on the modality parameter:

          ```
          if (spec.modal_type == ui::mojom::ModalType::kChild) {
          CHECK(spec.parent_web_contents)
          << "kChild (tab-modal) dialogs require spec.parent_web_contents";
          widget = constrained_window::CreateWebModalDialogViews(
          dialog.release(), spec.parent_web_contents);
          } else if (spec.modal_type == ui::mojom::ModalType::kWindow ||
          spec.modal_type == ui::mojom::ModalType::kSystem) {
          widget = constrained_window::CreateBrowserModalDialogViews(dialog.release(),
          parent);
          } else {
          // Allows for non-modal unanchored dialog options.
          widget = views::DialogDelegate::CreateDialogWidget(
          dialog.release(), /*context=*/parent,
          /*parent=*/gfx::NativeView());
          }
          ```
          Dana Fried

          Oh I missed that detail. Sorry. Yes, then it's fine. Good work!

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Foromo Daniel Soromou
          • Thomas Lukaszewicz
          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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
            Gerrit-Change-Number: 7747107
            Gerrit-PatchSet: 18
            Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
            Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
            Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
            Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
            Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
            Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
            Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
            Gerrit-Comment-Date: Fri, 17 Apr 2026 16:00:21 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Foromo Daniel Soromou (Gerrit)

            unread,
            Apr 17, 2026, 12:29:19 PM (13 days ago) Apr 17
            to Dana Fried, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
            Attention needed from Thomas Lukaszewicz

            Foromo Daniel Soromou added 1 comment

            File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
            Line 81, Patchset 18: // Returns the created widget. The caller does not own the returned widget.

            // By default, the Widget returned is CLIENT_OWNS_WIDGET. There the caller is
            // responsible to manage the lifetime.
            Dana Fried . resolved

            These seem to conflict.

            Foromo Daniel Soromou

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Thomas Lukaszewicz
            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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
              Gerrit-Change-Number: 7747107
              Gerrit-PatchSet: 19
              Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
              Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
              Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
              Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
              Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
              Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
              Gerrit-Comment-Date: Fri, 17 Apr 2026 16:29:13 +0000
              satisfied_requirement
              open
              diffy

              Thomas Lukaszewicz (Gerrit)

              unread,
              Apr 19, 2026, 3:21:12 PM (11 days ago) Apr 19
              to Foromo Daniel Soromou, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
              Attention needed from Foromo Daniel Soromou

              Thomas Lukaszewicz added 3 comments

              Patchset-level comments
              File-level comment, Patchset 22 (Latest):
              Thomas Lukaszewicz . resolved

              Looks great! Just some last minor comments

              File chrome/browser/ui/views/web_dialogs/BUILD.gn
              Line 6, Patchset 22 (Latest): sources = [
              "chrome_webui_dialog.cc",
              "chrome_webui_dialog.h",
              ]
              Thomas Lukaszewicz . unresolved

              Could we split this into `public` for the header and `sources` for the impl?

              Is it also possible to split `deps` below into `public_deps` and `deps` (i.e. transitive public dependencies from the header file and the impl dependencies)

              File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
              Line 56, Patchset 22 (Latest): // Optional parent WebContents for displaying as a tab-modal (kChild) dialog.
              Thomas Lukaszewicz . unresolved

              If this is indeed only for tabs can we make this `tabs::TabInterface`?

              Also I'm wondering if this should be a `base::WeakPtr<tabs::TabInterface>` - unless we have a high level of confidence that this would never outlive its host tab.

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Foromo Daniel Soromou
              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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                Gerrit-Change-Number: 7747107
                Gerrit-PatchSet: 22
                Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Comment-Date: Sun, 19 Apr 2026 19:20:29 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Thomas Lukaszewicz (Gerrit)

                unread,
                Apr 19, 2026, 3:31:17 PM (11 days ago) Apr 19
                to Foromo Daniel Soromou, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                Attention needed from Foromo Daniel Soromou and Keren Zhu

                Thomas Lukaszewicz added 1 comment

                File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                Line 88, Patchset 21: static views::UniqueWidgetPtr Show(
                Thomas Lukaszewicz . unresolved

                Really quick question @kere...@chromium.org - do we prefer to use this or just a `std::unique_ptr` for CLIENT_OWNS WIDGET?

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Foromo Daniel Soromou
                • Keren Zhu
                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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                Gerrit-Change-Number: 7747107
                Gerrit-PatchSet: 22
                Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                Gerrit-CC: Keren Zhu <kere...@chromium.org>
                Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Comment-Date: Sun, 19 Apr 2026 19:30:33 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Foromo Daniel Soromou (Gerrit)

                unread,
                Apr 19, 2026, 7:13:16 PM (11 days ago) Apr 19
                to Keren Zhu, Dana Fried, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
                Attention needed from Keren Zhu and Thomas Lukaszewicz

                Foromo Daniel Soromou added 2 comments

                File chrome/browser/ui/views/web_dialogs/BUILD.gn
                Line 6, Patchset 22: sources = [
                "chrome_webui_dialog.cc",
                "chrome_webui_dialog.h",
                ]
                Thomas Lukaszewicz . resolved

                Could we split this into `public` for the header and `sources` for the impl?

                Is it also possible to split `deps` below into `public_deps` and `deps` (i.e. transitive public dependencies from the header file and the impl dependencies)

                Foromo Daniel Soromou

                Done

                File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                Line 56, Patchset 22: // Optional parent WebContents for displaying as a tab-modal (kChild) dialog.
                Thomas Lukaszewicz . resolved

                If this is indeed only for tabs can we make this `tabs::TabInterface`?

                Also I'm wondering if this should be a `base::WeakPtr<tabs::TabInterface>` - unless we have a high level of confidence that this would never outlive its host tab.

                Foromo Daniel Soromou

                Done

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Keren Zhu
                • Thomas Lukaszewicz
                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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                Gerrit-Change-Number: 7747107
                Gerrit-PatchSet: 23
                Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                Gerrit-CC: Keren Zhu <kere...@chromium.org>
                Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
                Gerrit-Comment-Date: Sun, 19 Apr 2026 23:13:05 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Thomas Lukaszewicz <tl...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Thomas Lukaszewicz (Gerrit)

                unread,
                Apr 20, 2026, 6:30:43 PM (10 days ago) Apr 20
                to Foromo Daniel Soromou, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                Attention needed from Foromo Daniel Soromou and Keren Zhu

                Thomas Lukaszewicz added 1 comment

                File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                Line 88, Patchset 21: static views::UniqueWidgetPtr Show(
                Thomas Lukaszewicz . unresolved

                Really quick question @kere...@chromium.org - do we prefer to use this or just a `std::unique_ptr` for CLIENT_OWNS WIDGET?

                Thomas Lukaszewicz

                I think we should probably make this `unique_ptr<views::Widget>` instead of `UniqueWidgetPtr`.

                It looks like the later is meant to manage other Widget ownership models whereas we are guaranteeing this is `CLIENT_OWNS_WIDGET` and we shouldn't need to close the widget when destroying it or worry about the `NativeWidget` deleting `Widget`.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Foromo Daniel Soromou
                • Keren Zhu
                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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                Gerrit-Change-Number: 7747107
                Gerrit-PatchSet: 23
                Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                Gerrit-CC: Keren Zhu <kere...@chromium.org>
                Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
                Gerrit-Comment-Date: Mon, 20 Apr 2026 22:30:11 +0000
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Foromo Daniel Soromou (Gerrit)

                unread,
                Apr 20, 2026, 7:02:46 PM (10 days ago) Apr 20
                to Keren Zhu, Dana Fried, Muhammad Salmaan, Thomas Lukaszewicz, Chromium LUCI CQ, chromium...@chromium.org
                Attention needed from Keren Zhu and Thomas Lukaszewicz

                Foromo Daniel Soromou added 1 comment

                File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                Line 88, Patchset 21: static views::UniqueWidgetPtr Show(
                Thomas Lukaszewicz . resolved

                Really quick question @kere...@chromium.org - do we prefer to use this or just a `std::unique_ptr` for CLIENT_OWNS WIDGET?

                Thomas Lukaszewicz

                I think we should probably make this `unique_ptr<views::Widget>` instead of `UniqueWidgetPtr`.

                It looks like the later is meant to manage other Widget ownership models whereas we are guaranteeing this is `CLIENT_OWNS_WIDGET` and we shouldn't need to close the widget when destroying it or worry about the `NativeWidget` deleting `Widget`.

                Foromo Daniel Soromou

                Done

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Keren Zhu
                • Thomas Lukaszewicz
                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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                  Gerrit-Change-Number: 7747107
                  Gerrit-PatchSet: 24
                  Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                  Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                  Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                  Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                  Gerrit-CC: Keren Zhu <kere...@chromium.org>
                  Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                  Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                  Gerrit-Attention: Thomas Lukaszewicz <tl...@chromium.org>
                  Gerrit-Comment-Date: Mon, 20 Apr 2026 23:02:37 +0000
                  satisfied_requirement
                  open
                  diffy

                  Thomas Lukaszewicz (Gerrit)

                  unread,
                  Apr 20, 2026, 7:55:25 PM (10 days ago) Apr 20
                  to Foromo Daniel Soromou, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                  Attention needed from Foromo Daniel Soromou and Keren Zhu

                  Thomas Lukaszewicz voted and added 2 comments

                  Votes added by Thomas Lukaszewicz

                  Code-Review+1

                  2 comments

                  Patchset-level comments
                  File-level comment, Patchset 24 (Latest):
                  Thomas Lukaszewicz . resolved

                  lgtm!

                  File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                  Line 92, Patchset 24 (Latest): static std::unique_ptr<views::Widget> Show(
                  Thomas Lukaszewicz . unresolved

                  nit: We should also add documentation indicating that clients should use [`Widget::MakeCloseSynchronous()`](https://source.chromium.org/chromium/chromium/src/+/main:ui/views/widget/widget.h;l=902;drc=cf6881766a4b05771620eae6f874f1c4ed422e12) to intercept close events from the created widget.

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Foromo Daniel Soromou
                  • Keren Zhu
                  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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                    Gerrit-Change-Number: 7747107
                    Gerrit-PatchSet: 24
                    Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                    Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                    Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                    Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                    Gerrit-CC: Keren Zhu <kere...@chromium.org>
                    Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                    Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                    Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
                    Gerrit-Comment-Date: Mon, 20 Apr 2026 23:54:46 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Foromo Daniel Soromou (Gerrit)

                    unread,
                    Apr 20, 2026, 8:11:23 PM (10 days ago) Apr 20
                    to Thomas Lukaszewicz, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                    Attention needed from Keren Zhu

                    Foromo Daniel Soromou added 1 comment

                    File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                    Line 92, Patchset 24: static std::unique_ptr<views::Widget> Show(
                    Thomas Lukaszewicz . resolved

                    nit: We should also add documentation indicating that clients should use [`Widget::MakeCloseSynchronous()`](https://source.chromium.org/chromium/chromium/src/+/main:ui/views/widget/widget.h;l=902;drc=cf6881766a4b05771620eae6f874f1c4ed422e12) to intercept close events from the created widget.

                    Foromo Daniel Soromou

                    Done

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Keren Zhu
                    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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Gerrit-Change-Number: 7747107
                      Gerrit-PatchSet: 25
                      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                      Gerrit-CC: Keren Zhu <kere...@chromium.org>
                      Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                      Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                      Gerrit-Comment-Date: Tue, 21 Apr 2026 00:11:16 +0000
                      satisfied_requirement
                      open
                      diffy

                      Foromo Daniel Soromou (Gerrit)

                      unread,
                      Apr 20, 2026, 8:11:45 PM (10 days ago) Apr 20
                      to Thomas Lukaszewicz, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                      Attention needed from Keren Zhu

                      Foromo Daniel Soromou voted Commit-Queue+2

                      Commit-Queue+2
                      Gerrit-Comment-Date: Tue, 21 Apr 2026 00:11:38 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy

                      Foromo Daniel Soromou (Gerrit)

                      unread,
                      Apr 20, 2026, 9:20:40 PM (10 days ago) Apr 20
                      to Thomas Lukaszewicz, Keren Zhu, Dana Fried, Muhammad Salmaan, Chromium LUCI CQ, chromium...@chromium.org
                      Attention needed from Keren Zhu

                      Foromo Daniel Soromou voted Commit-Queue+2

                      Commit-Queue+2
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Keren Zhu
                      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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Gerrit-Change-Number: 7747107
                      Gerrit-PatchSet: 26
                      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                      Gerrit-CC: Keren Zhu <kere...@chromium.org>
                      Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                      Gerrit-Attention: Keren Zhu <kere...@chromium.org>
                      Gerrit-Comment-Date: Tue, 21 Apr 2026 01:20:33 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy

                      Chromium LUCI CQ (Gerrit)

                      unread,
                      Apr 20, 2026, 10:10:27 PM (10 days ago) Apr 20
                      to Foromo Daniel Soromou, Thomas Lukaszewicz, Keren Zhu, Dana Fried, Muhammad Salmaan, chromium...@chromium.org

                      Chromium LUCI CQ submitted the change with unreviewed changes

                      Unreviewed changes

                      24 is the latest approved patch-set.
                      The change was submitted with unreviewed changes in the following files:

                      ```
                      The name of the file: chrome/browser/ui/views/web_dialogs/chrome_webui_dialog_unittest.cc
                      Insertions: 2, Deletions: 0.

                      @@ -58,6 +58,8 @@
                      void TearDown() override {
                      constrained_window::SetConstrainedWindowViewsClient(nullptr);
                      base::RunLoop().RunUntilIdle();
                      + profile_.reset();
                      + base::RunLoop().RunUntilIdle();
                      ChromeViewsTestBase::TearDown();
                      }

                      ```
                      ```
                      The name of the file: chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                      Insertions: 2, Deletions: 1.

                      @@ -88,7 +88,8 @@

                      // Creates and shows a dialog with the given `contents_wrapper` and `spec`.
                         // Returns the created widget. By default, the Widget returned is
                      // CLIENT_OWNS_WIDGET. Therefore, the caller is responsible to manage the
                      - // lifetime.
                      + // lifetime. Additionally, caller can use `Widget::MakeCloseSynchronous()` to
                      + // intercept close events from the created widget.

                      static std::unique_ptr<views::Widget> Show(
                             gfx::NativeWindow parent,
                      std::unique_ptr<WebUIContentsWrapper> contents_wrapper,
                      ```

                      Change information

                      Commit message:
                      Introduce TopChromeWebUIDialogDelegate

                      Add a reusable dialog delegate for TopChrome WebUI dialogs to reduce
                      boilerplate code and provide a consistent implementation for widget
                      sizing, lifecycle management, and flicker prevention. Currently,
                      developers building top-level WebUI dialogs duplicate code to handle
                      these concerns. This change establishes a unified approach leveraging
                      WebUIContentsWrapper and EnableAutoResize. Key features:
                      - Declarative configuration via WebDialogSpec.
                      - Auto-resizing within min/max bounds.
                      - Flicker prevention by waiting for explicit show from JS.
                      - Corner radius clipping to NativeViewHost.

                      This also adds unit tests and a README in the new
                      chrome/browser/ui/views/web_dialogs directory.
                      Bug: 501461091
                      Change-Id: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Reviewed-by: Thomas Lukaszewicz <tl...@chromium.org>
                      Commit-Queue: Foromo Daniel Soromou <koreta...@chromium.org>
                      Reviewed-by: Dana Fried <dfr...@chromium.org>
                      Cr-Commit-Position: refs/heads/main@{#1617935}
                      Files:
                      • M chrome/browser/ui/BUILD.gn
                      • A chrome/browser/ui/views/web_dialogs/BUILD.gn
                      • A chrome/browser/ui/views/web_dialogs/DIR_METADATA
                      • A chrome/browser/ui/views/web_dialogs/README.md
                      • A chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.cc
                      • A chrome/browser/ui/views/web_dialogs/chrome_webui_dialog.h
                      • A chrome/browser/ui/views/web_dialogs/chrome_webui_dialog_unittest.cc
                      • M chrome/test/BUILD.gn
                      Change size: L
                      Delta: 8 files changed, 701 insertions(+), 0 deletions(-)
                      Branch: refs/heads/main
                      Submit Requirements:
                      • requirement satisfiedCode-Review: +1 by Thomas Lukaszewicz, +1 by Dana Fried
                      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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Gerrit-Change-Number: 7747107
                      Gerrit-PatchSet: 27
                      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                      open
                      diffy
                      satisfied_requirement

                      Keren Zhu (Gerrit)

                      unread,
                      Apr 20, 2026, 11:48:14 PM (10 days ago) Apr 20
                      to Chromium LUCI CQ, Foromo Daniel Soromou, Thomas Lukaszewicz, Dana Fried, Muhammad Salmaan, chromium...@chromium.org
                      Attention needed from Foromo Daniel Soromou

                      Keren Zhu added 1 comment

                      File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog_unittest.cc
                      Line 60, Patchset 27 (Latest): base::RunLoop().RunUntilIdle();
                      Keren Zhu . unresolved

                      RunUntilIdle() has historically been a source of flakiness. Do we absolutely need to run the run loop here? If so, can we listen for some event or use `base::test::RunUntil`?

                      Sorry for leaving comment late. I was in a conference during the day time.

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Foromo Daniel Soromou
                      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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Gerrit-Change-Number: 7747107
                      Gerrit-PatchSet: 27
                      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                      Gerrit-CC: Keren Zhu <kere...@chromium.org>
                      Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                      Gerrit-Attention: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Comment-Date: Tue, 21 Apr 2026 03:47:58 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      satisfied_requirement
                      open
                      diffy

                      Foromo Daniel Soromou (Gerrit)

                      unread,
                      Apr 21, 2026, 11:00:12 AM (9 days ago) Apr 21
                      to Chromium LUCI CQ, Thomas Lukaszewicz, Keren Zhu, Dana Fried, Muhammad Salmaan, chromium...@chromium.org

                      Foromo Daniel Soromou added 1 comment

                      File chrome/browser/ui/views/web_dialogs/chrome_webui_dialog_unittest.cc
                      Line 60, Patchset 27 (Latest): base::RunLoop().RunUntilIdle();
                      Keren Zhu . resolved

                      RunUntilIdle() has historically been a source of flakiness. Do we absolutely need to run the run loop here? If so, can we listen for some event or use `base::test::RunUntil`?

                      Sorry for leaving comment late. I was in a conference during the day time.

                      Foromo Daniel Soromou

                      Fixed in the CL : https://crrev.com/c/7782255.
                      Thank you.

                      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: I41d72ad5661671f1b767f9105cc9f3b5bd7c340b
                      Gerrit-Change-Number: 7747107
                      Gerrit-PatchSet: 27
                      Gerrit-Owner: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                      Gerrit-Reviewer: Dana Fried <dfr...@chromium.org>
                      Gerrit-Reviewer: Foromo Daniel Soromou <koreta...@chromium.org>
                      Gerrit-Reviewer: Thomas Lukaszewicz <tl...@chromium.org>
                      Gerrit-CC: Keren Zhu <kere...@chromium.org>
                      Gerrit-CC: Muhammad Salmaan <musa...@chromium.org>
                      Gerrit-Comment-Date: Tue, 21 Apr 2026 15:00:04 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      Comment-In-Reply-To: Keren Zhu <kere...@chromium.org>
                      satisfied_requirement
                      open
                      diffy
                      Reply all
                      Reply to author
                      Forward
                      0 new messages