0

Explicitly specify NATIVE_WIDGET_OWNS_WIDGET in //ash (7 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/test, //ash/tooltips,
//ash/touch, //ash/user_education, //ash/utility,
//ash/virtual_trackpad, //ash/wallpaper, and //ash/webui.

There should be no functional changes.

Bug: 339619005
Change-Id: I50c7c3bf42e1f34d9098835bfab2c5c068d32ce1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5550312
Commit-Queue: Dirk Pranke <dpranke@google.com>
Reviewed-by: James Cook <jamescook@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1304156}
This commit is contained in:
Dirk Pranke
2024-05-22 00:16:51 +00:00
committed by Chromium LUCI CQ
parent 0dbe479fd5
commit 17e99a9253
10 changed files with 20 additions and 16 deletions

@ -47,8 +47,7 @@ TEST_F(AshTestHelperTest, AshTestHelper) {
// Enough state is initialized to create a window.
using views::Widget;
std::unique_ptr<Widget> w1(new Widget);
Widget::InitParams params;
params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
Widget::InitParams params(Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET);
params.context = ash_test_helper()->GetContext();
w1->Init(std::move(params));
w1->Show();

@ -41,9 +41,8 @@ class DemoAshPixelDiffTest : public AshTestBase {
// Create a top level widget.
auto widget = std::make_unique<views::Widget>();
views::Widget::InitParams init_params(
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_POPUP);
init_params.ownership =
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
init_params.bounds = gfx::Rect(widget_bounds);
init_params.parent = root_window;
widget->Init(std::move(init_params));

@ -39,10 +39,10 @@ namespace {
views::Widget* CreateNewWidgetWithBoundsOn(int display,
const gfx::Rect& bounds) {
views::Widget* widget = new views::Widget;
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.accept_events = true;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.parent =
Shell::Get()->GetContainer(Shell::GetAllRootWindows().at(display),
desks_util::GetActiveDeskContainerId());

@ -30,6 +30,7 @@ TouchObserverHud::TouchObserverHud(aura::Window* initial_root,
content->SetSize(display_size);
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.opacity = views::Widget::InitParams::WindowOpacity::kTranslucent;
params.activatable = views::Widget::InitParams::Activatable::kNo;

@ -116,7 +116,8 @@ void HelpBubbleViewAshTestBase::SetUp() {
// Initialize a test `widget_` to be used as an anchor for help bubble
// views. Note that shadow is removed since pixel tests of help bubble views
// should not fail solely due to changes in shadow appearance of the anchor.
views::Widget::InitParams params;
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET);
params.layer_type = ui::LAYER_SOLID_COLOR;
params.shadow_type = views::Widget::InitParams::ShadowType::kNone;
widget_ = std::make_unique<views::Widget>();

@ -39,13 +39,14 @@ constexpr gfx::Size kImagePreferredSize(240, 240);
void WelcomeTourDialog::CreateAndShow(base::OnceClosure accept_callback,
base::OnceClosure cancel_callback,
base::OnceClosure close_callback) {
views::Widget::InitParams params;
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.parent = Shell::GetPrimaryRootWindow()->GetChildById(
kShellWindowId_HelpBubbleContainer);
params.delegate = new WelcomeTourDialog(std::move(accept_callback),
std::move(cancel_callback),
std::move(close_callback));
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
auto* widget = new views::Widget;
widget->Init(std::move(params));

@ -99,8 +99,9 @@ TEST_P(ArcCurvePathUtilPixelTest, basic) {
// Create a top level widget.
auto widget = std::make_unique<views::Widget>();
views::Widget::InitParams init_params(views::Widget::InitParams::TYPE_POPUP);
init_params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
views::Widget::InitParams init_params(
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_POPUP);
init_params.bounds = gfx::Rect(gfx::Point(100, 100), gfx::Size(100, 100));
init_params.parent = root_window;
widget->Init(std::move(init_params));

@ -286,14 +286,15 @@ void VirtualTrackpadView::Toggle() {
// `TYPE_WINDOW`.
delegate->SetContentsView(std::make_unique<VirtualTrackpadView>());
views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET,
views::Widget::InitParams::TYPE_WINDOW);
params.delegate = delegate.release();
// TODO(b/252556382): The bounds and root should be where the user last
// closed the window if any.
params.parent = Shell::GetContainer(Shell::GetPrimaryRootWindow(),
kShellWindowId_OverlayContainer);
params.bounds = gfx::Rect(kDefaultSize);
params.ownership = views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET;
params.name = "VirtualTrackpadWidget";
params.activatable = views::Widget::InitParams::Activatable::kNo;
params.accept_events = true;

@ -286,9 +286,9 @@ std::unique_ptr<views::Widget> CreateWallpaperWidget(
auto wallpaper_widget = std::make_unique<views::Widget>();
views::Widget::InitParams params(
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.name = "WallpaperViewWidget";
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.layer_type = ui::LAYER_NOT_DRAWN;
params.parent = root_window->GetChildById(container_id);
WallpaperView* wallpaper_view = new WallpaperView(blur_sigma);

@ -165,7 +165,8 @@ ExternalAppDialog::ExternalAppDialog(const InitParams& params)
set_dialog_modal_type(ui::MODAL_TYPE_SYSTEM);
set_dialog_title(base::UTF8ToUTF16(params.app_name));
views::Widget::InitParams widget_params{};
views::Widget::InitParams widget_params{
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET};
widget_params.z_order = ui::ZOrderLevel::kFloatingWindow;
web_dialog_view_ = new views::WebDialogView(
params.context, this, std::make_unique<WebContentsHandler>());