0

Explicitly specify NATIVE_WIDGET_OWNS_WIDGET in //ash (3 of 8)

We are refactoring Views code with an eye towards changing the
default ownership model of widgets from NATIVE_WIDGET_OWNS_WIDGET
to CLIENT_OWNS_WIDGET. One of the first steps in that is to specify
the ownership explicitly in existing uses of the Widget InitParams
struct, so that we can then change the default without breaking
existing uses.

This CL changes the uses in //ash/ambient, //ash/app_list,
//ash/app_menu, //ash/assistant, and //ash/booting.

There should be no functional changes.

Bug: 339619005
Change-Id: I9501e660b92140b9956d0273ba820aa9fbf24a81
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5547786
Reviewed-by: James Cook <jamescook@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Commit-Queue: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/main@{#1304122}
This commit is contained in:
Dirk Pranke
2024-05-21 23:26:19 +00:00
committed by Chromium LUCI CQ
parent f87cb32cee
commit 4f01896d99
7 changed files with 19 additions and 16 deletions

@ -1158,12 +1158,12 @@ std::unique_ptr<views::Widget> AmbientController::CreateWidget(
auto* widget_delegate = new AmbientWidgetDelegate();
widget_delegate->SetInitiallyFocusedView(container_view.get());
views::Widget::InitParams params;
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
views::Widget::InitParams params(
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.name = GetWidgetName();
params.show_state = ui::SHOW_STATE_FULLSCREEN;
params.parent = container;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.delegate = widget_delegate;
params.visible_on_all_workspaces = true;

@ -148,6 +148,7 @@ gfx::Rect ComputeBubbleBounds(aura::Window* root_window,
views::Widget* CreateBubbleWidget(aura::Window* root_window) {
views::Widget* widget = new views::Widget();
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.name = "AppListBubble";
params.parent =

@ -258,6 +258,7 @@ void AppListView::InitContents() {
void AppListView::InitWidget(gfx::NativeView parent) {
DCHECK(!GetWidget());
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.name = "AppList";
params.parent = parent;

@ -37,12 +37,12 @@ SearchResultPageAnchoredDialog::SearchResultPageAnchoredDialog(
views::Widget* const parent = host_view_->GetWidget();
widget_ = new views::Widget();
views::Widget::InitParams params;
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
params.layer_type = ui::LAYER_NOT_DRAWN;
params.parent = parent->GetNativeWindow();
params.delegate = dialog.release();
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.layer_type = ui::LAYER_NOT_DRAWN;
params.parent = parent->GetNativeWindow();
params.delegate = dialog.release();
widget_->Init(std::move(params));

@ -112,9 +112,8 @@ class NotificationMenuViewTest : public views::ViewsTestBase {
widget_ = std::make_unique<views::Widget>();
views::Widget::InitParams init_params(
CreateParams(views::Widget::InitParams::TYPE_POPUP));
init_params.ownership =
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
CreateParams(views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_POPUP));
init_params.activatable = views::Widget::InitParams::Activatable::kYes;
widget_->Init(std::move(init_params));
notification_menu_view_ =

@ -204,8 +204,9 @@ void AssistantWebContainerView::SetCanGoBackForTesting(bool can_go_back) {
}
void AssistantWebContainerView::InitLayout() {
views::Widget::InitParams params;
params.type = views::Widget::InitParams::TYPE_WINDOW;
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW);
params.delegate = this;
params.name = GetClassName();

@ -61,7 +61,9 @@ void BootingAnimationController::Show() {
}
widget_ = std::make_unique<views::Widget>();
views::Widget::InitParams params;
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.delegate = new views::WidgetDelegate; // Takes ownership.
params.delegate->SetOwnedByWidget(true);
// Allow maximize so the booting container's FillLayoutManager can
@ -69,7 +71,6 @@ void BootingAnimationController::Show() {
// fullscreen widgets.
params.delegate->SetCanMaximize(true);
params.delegate->SetCanFullscreen(true);
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
params.name = "BootingAnimationWidget";
params.show_state = ui::SHOW_STATE_FULLSCREEN;
// Create the Booting Animation widget on the primary display.