Commit 6a6b8fd7 authored by Peter Kasting's avatar Peter Kasting Committed by Commit Bot

Host CreateTestWidget() to ViewsTestBase and use it in a few places.

Still many, many more to convert.

Bug: 1056332
Change-Id: I19d411d7583031779bad0a8ff4da4699df6df284
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2080046Reviewed-by: default avatarLeonard Grey <lgrey@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarRobert Liao <robliao@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#745681}
parent 879b222e
...@@ -12,13 +12,3 @@ void ChromeViewsTestBase::SetUp() { ...@@ -12,13 +12,3 @@ void ChromeViewsTestBase::SetUp() {
set_views_delegate(std::make_unique<ChromeTestViewsDelegate>()); set_views_delegate(std::make_unique<ChromeTestViewsDelegate>());
views::ViewsTestBase::SetUp(); views::ViewsTestBase::SetUp();
} }
std::unique_ptr<views::Widget> ChromeViewsTestBase::CreateTestWidget(
views::Widget::InitParams::Type type) {
auto widget = std::make_unique<views::Widget>();
views::Widget::InitParams params = CreateParams(type);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.bounds = gfx::Rect(0, 0, 400, 400);
widget->Init(std::move(params));
return widget;
}
...@@ -39,10 +39,6 @@ class ChromeViewsTestBase : public views::ViewsTestBase { ...@@ -39,10 +39,6 @@ class ChromeViewsTestBase : public views::ViewsTestBase {
// views::ViewsTestBase: // views::ViewsTestBase:
void SetUp() override; void SetUp() override;
std::unique_ptr<views::Widget> CreateTestWidget(
views::Widget::InitParams::Type type =
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
protected: protected:
// Use this protected member directly to drive tasks posted within a // Use this protected member directly to drive tasks posted within a
// ChromeViewsTestBase-based test. // ChromeViewsTestBase-based test.
......
...@@ -69,8 +69,15 @@ DOM::Node* FindNodeWithID(int id, DOM::Node* root) { ...@@ -69,8 +69,15 @@ DOM::Node* FindNodeWithID(int id, DOM::Node* root) {
class DOMAgentTest : public views::ViewsTestBase { class DOMAgentTest : public views::ViewsTestBase {
public: public:
DOMAgentTest() {} DOMAgentTest() = default;
~DOMAgentTest() override {} ~DOMAgentTest() override = default;
views::Widget::InitParams CreateParams(
views::Widget::InitParams::Type type) override {
views::Widget::InitParams params = views::ViewsTestBase::CreateParams(type);
params.name = name_;
return params;
}
views::internal::NativeWidgetPrivate* CreateTestNativeWidget() { views::internal::NativeWidgetPrivate* CreateTestNativeWidget() {
views::Widget* widget = new views::Widget; views::Widget* widget = new views::Widget;
...@@ -83,20 +90,10 @@ class DOMAgentTest : public views::ViewsTestBase { ...@@ -83,20 +90,10 @@ class DOMAgentTest : public views::ViewsTestBase {
return widget->native_widget_private(); return widget->native_widget_private();
} }
std::unique_ptr<views::Widget> CreateTestWidget( std::unique_ptr<views::Widget> CreateNamedWidget(const std::string& name) {
const gfx::Rect& bounds, name_ = name;
const std::string* name = nullptr) { std::unique_ptr<views::Widget> widget = CreateTestWidget();
auto widget = std::make_unique<views::Widget>(); name_.clear();
views::Widget::InitParams params;
params.delegate = nullptr;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.bounds = bounds;
#if defined(USE_AURA)
params.parent = GetContext();
#endif
if (name)
params.name = *name;
widget->Init(std::move(params));
widget->Show(); widget->Show();
return widget; return widget;
} }
...@@ -263,6 +260,7 @@ class DOMAgentTest : public views::ViewsTestBase { ...@@ -263,6 +260,7 @@ class DOMAgentTest : public views::ViewsTestBase {
std::unique_ptr<DOMAgentViews> dom_agent_; std::unique_ptr<DOMAgentViews> dom_agent_;
std::unique_ptr<CSSAgent> css_agent_; std::unique_ptr<CSSAgent> css_agent_;
std::unique_ptr<OverlayAgentViews> overlay_agent_; std::unique_ptr<OverlayAgentViews> overlay_agent_;
std::string name_;
DISALLOW_COPY_AND_ASSIGN(DOMAgentTest); DISALLOW_COPY_AND_ASSIGN(DOMAgentTest);
}; };
...@@ -276,8 +274,7 @@ TEST_F(DOMAgentTest, GetDocumentWithWindowWidgetView) { ...@@ -276,8 +274,7 @@ TEST_F(DOMAgentTest, GetDocumentWithWindowWidgetView) {
// (root/content views) // (root/content views)
// child_view // child_view
// child_window // child_window
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80)));
aura::Window* parent_window = widget->GetNativeWindow(); aura::Window* parent_window = widget->GetNativeWindow();
parent_window->SetName("parent_window"); parent_window->SetName("parent_window");
std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window); std::unique_ptr<aura::Window> child_window = CreateChildWindow(parent_window);
...@@ -330,10 +327,8 @@ TEST_F(DOMAgentTest, GetDocumentMultipleWidgets) { ...@@ -330,10 +327,8 @@ TEST_F(DOMAgentTest, GetDocumentMultipleWidgets) {
// child_b12 // child_b12
// child_b121 // child_b121
// child_b122 // child_b122
std::unique_ptr<views::Widget> widget_a( std::unique_ptr<views::Widget> widget_a = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80))); std::unique_ptr<views::Widget> widget_b = CreateTestWidget();
std::unique_ptr<views::Widget> widget_b(
CreateTestWidget(gfx::Rect(100, 100, 80, 80)));
widget_a->GetRootView()->AddChildView(new TestView("child_a1")); widget_a->GetRootView()->AddChildView(new TestView("child_a1"));
widget_a->GetRootView()->AddChildView(new TestView("child_a2")); widget_a->GetRootView()->AddChildView(new TestView("child_a2"));
...@@ -459,8 +454,8 @@ TEST_F(DOMAgentTest, WindowStackingChangedChildNodeRemovedAndInserted) { ...@@ -459,8 +454,8 @@ TEST_F(DOMAgentTest, WindowStackingChangedChildNodeRemovedAndInserted) {
#endif // defined(USE_AURA) #endif // defined(USE_AURA)
TEST_F(DOMAgentTest, ViewInserted) { TEST_F(DOMAgentTest, ViewInserted) {
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget =
CreateTestWidget(gfx::Rect(1, 1, 80, 80))); CreateTestWidget(views::Widget::InitParams::TYPE_WINDOW);
widget->Show(); widget->Show();
// Initialize DOMAgent // Initialize DOMAgent
...@@ -475,8 +470,7 @@ TEST_F(DOMAgentTest, ViewInserted) { ...@@ -475,8 +470,7 @@ TEST_F(DOMAgentTest, ViewInserted) {
} }
TEST_F(DOMAgentTest, ViewRemoved) { TEST_F(DOMAgentTest, ViewRemoved) {
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80)));
widget->Show(); widget->Show();
views::View* root_view = widget->GetRootView(); views::View* root_view = widget->GetRootView();
...@@ -495,8 +489,7 @@ TEST_F(DOMAgentTest, ViewRemoved) { ...@@ -495,8 +489,7 @@ TEST_F(DOMAgentTest, ViewRemoved) {
} }
TEST_F(DOMAgentTest, ViewRearranged) { TEST_F(DOMAgentTest, ViewRearranged) {
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80)));
widget->Show(); widget->Show();
views::View* root_view = widget->GetRootView(); views::View* root_view = widget->GetRootView();
...@@ -536,8 +529,7 @@ TEST_F(DOMAgentTest, ViewRearranged) { ...@@ -536,8 +529,7 @@ TEST_F(DOMAgentTest, ViewRearranged) {
} }
TEST_F(DOMAgentTest, ViewRearrangedRemovedAndInserted) { TEST_F(DOMAgentTest, ViewRearrangedRemovedAndInserted) {
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80)));
widget->Show(); widget->Show();
views::View* root_view = widget->GetRootView(); views::View* root_view = widget->GetRootView();
...@@ -567,8 +559,7 @@ TEST_F(DOMAgentTest, NodeIdToUIElementTest) { ...@@ -567,8 +559,7 @@ TEST_F(DOMAgentTest, NodeIdToUIElementTest) {
// child_a111 // child_a111
// child_a1111 // child_a1111
// child_a112 // child_a112
std::unique_ptr<views::Widget> widget( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80)));
widget->Show(); widget->Show();
views::View* root_view = widget->GetRootView(); views::View* root_view = widget->GetRootView();
...@@ -615,10 +606,9 @@ TEST_F(DOMAgentTest, NodeIdToUIElementTest) { ...@@ -615,10 +606,9 @@ TEST_F(DOMAgentTest, NodeIdToUIElementTest) {
// Tests to ensure dom search for native UI is working // Tests to ensure dom search for native UI is working
TEST_F(DOMAgentTest, SimpleDomSearch) { TEST_F(DOMAgentTest, SimpleDomSearch) {
std::unique_ptr<views::Widget> widget_a( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80))); widget->GetRootView()->AddChildView(new TestView("child_a1"));
widget_a->GetRootView()->AddChildView(new TestView("child_a1")); widget->GetRootView()->AddChildView(new TestView("child_a2"));
widget_a->GetRootView()->AddChildView(new TestView("child_a2"));
std::unique_ptr<DOM::Node> root; std::unique_ptr<DOM::Node> root;
dom_agent()->getDocument(&root); dom_agent()->getDocument(&root);
...@@ -643,10 +633,9 @@ TEST_F(DOMAgentTest, SimpleDomSearch) { ...@@ -643,10 +633,9 @@ TEST_F(DOMAgentTest, SimpleDomSearch) {
} }
TEST_F(DOMAgentTest, ExactDomSearch) { TEST_F(DOMAgentTest, ExactDomSearch) {
std::unique_ptr<views::Widget> widget_a( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80))); widget->GetRootView()->AddChildView(new TestView("child_a"));
widget_a->GetRootView()->AddChildView(new TestView("child_a")); widget->GetRootView()->AddChildView(new TestView("child_aa"));
widget_a->GetRootView()->AddChildView(new TestView("child_aa"));
std::unique_ptr<DOM::Node> root; std::unique_ptr<DOM::Node> root;
dom_agent()->getDocument(&root); dom_agent()->getDocument(&root);
...@@ -678,12 +667,9 @@ TEST_F(DOMAgentTest, ExactDomSearch) { ...@@ -678,12 +667,9 @@ TEST_F(DOMAgentTest, ExactDomSearch) {
TEST_F(DOMAgentTest, TagDomSearch) { TEST_F(DOMAgentTest, TagDomSearch) {
std::string widget_name = "TestElement"; std::string widget_name = "TestElement";
std::unique_ptr<views::Widget> widget_a( std::unique_ptr<views::Widget> widget_a = CreateNamedWidget(widget_name);
CreateTestWidget(gfx::Rect(1, 1, 80, 80), &widget_name)); std::unique_ptr<views::Widget> widget_b = CreateNamedWidget(widget_name);
std::unique_ptr<views::Widget> widget_b( std::unique_ptr<views::Widget> widget_c = CreateNamedWidget(widget_name);
CreateTestWidget(gfx::Rect(1, 1, 80, 80), &widget_name));
std::unique_ptr<views::Widget> widget_c(
CreateTestWidget(gfx::Rect(1, 1, 80, 80), &widget_name));
widget_a->GetRootView()->AddChildView(new TestView("WidgetView")); widget_a->GetRootView()->AddChildView(new TestView("WidgetView"));
std::unique_ptr<DOM::Node> root; std::unique_ptr<DOM::Node> root;
...@@ -708,9 +694,8 @@ TEST_F(DOMAgentTest, TagDomSearch) { ...@@ -708,9 +694,8 @@ TEST_F(DOMAgentTest, TagDomSearch) {
} }
TEST_F(DOMAgentTest, DomSearchForStylesPanel) { TEST_F(DOMAgentTest, DomSearchForStylesPanel) {
std::unique_ptr<views::Widget> widget_a( std::unique_ptr<views::Widget> widget = CreateTestWidget();
CreateTestWidget(gfx::Rect(1, 1, 80, 80))); widget->GetRootView()->AddChildView(new TestView("child_a1"));
widget_a->GetRootView()->AddChildView(new TestView("child_a1"));
std::unique_ptr<DOM::Node> root; std::unique_ptr<DOM::Node> root;
dom_agent()->getDocument(&root); dom_agent()->getDocument(&root);
......
...@@ -137,6 +137,14 @@ Widget::InitParams ViewsTestBase::CreateParams(Widget::InitParams::Type type) { ...@@ -137,6 +137,14 @@ Widget::InitParams ViewsTestBase::CreateParams(Widget::InitParams::Type type) {
return params; return params;
} }
std::unique_ptr<Widget> ViewsTestBase::CreateTestWidget(
Widget::InitParams::Type type) {
Widget::InitParams params = CreateParamsForTestWidget(type);
auto widget = std::make_unique<Widget>();
widget->Init(std::move(params));
return widget;
}
bool ViewsTestBase::HasCompositingManager() const { bool ViewsTestBase::HasCompositingManager() const {
return has_compositing_manager_; return has_compositing_manager_;
} }
...@@ -158,9 +166,8 @@ NativeWidget* ViewsTestBase::CreateNativeWidgetForTest( ...@@ -158,9 +166,8 @@ NativeWidget* ViewsTestBase::CreateNativeWidgetForTest(
#elif defined(USE_AURA) #elif defined(USE_AURA)
// For widgets that have a modal parent, don't force a native widget type. // For widgets that have a modal parent, don't force a native widget type.
// This logic matches DesktopTestViewsDelegate as well as ChromeViewsDelegate. // This logic matches DesktopTestViewsDelegate as well as ChromeViewsDelegate.
if (init_params.parent && if (init_params.parent && init_params.type != Widget::InitParams::TYPE_MENU &&
init_params.type != views::Widget::InitParams::TYPE_MENU && init_params.type != Widget::InitParams::TYPE_TOOLTIP) {
init_params.type != views::Widget::InitParams::TYPE_TOOLTIP) {
// Returning null results in using the platform default, which is // Returning null results in using the platform default, which is
// NativeWidgetAura. // NativeWidgetAura.
return nullptr; return nullptr;
...@@ -184,6 +191,14 @@ NativeWidget* ViewsTestBase::CreateNativeWidgetForTest( ...@@ -184,6 +191,14 @@ NativeWidget* ViewsTestBase::CreateNativeWidgetForTest(
#endif #endif
} }
Widget::InitParams ViewsTestBase::CreateParamsForTestWidget(
Widget::InitParams::Type type) {
Widget::InitParams params = CreateParams(type);
params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.bounds = gfx::Rect(0, 0, 400, 400);
return params;
}
void ViewsTestBaseWithNativeWidgetType::SetUp() { void ViewsTestBaseWithNativeWidgetType::SetUp() {
set_native_widget_type(GetParam()); set_native_widget_type(GetParam());
ViewsTestBase::SetUp(); ViewsTestBase::SetUp();
......
...@@ -79,6 +79,10 @@ class ViewsTestBase : public PlatformTest { ...@@ -79,6 +79,10 @@ class ViewsTestBase : public PlatformTest {
// cross-platform tests. // cross-platform tests.
virtual Widget::InitParams CreateParams(Widget::InitParams::Type type); virtual Widget::InitParams CreateParams(Widget::InitParams::Type type);
virtual std::unique_ptr<Widget> CreateTestWidget(
Widget::InitParams::Type type =
Widget::InitParams::TYPE_WINDOW_FRAMELESS);
bool HasCompositingManager() const; bool HasCompositingManager() const;
// Simulate an OS-level destruction of the native window held by |widget|. // Simulate an OS-level destruction of the native window held by |widget|.
...@@ -124,6 +128,10 @@ class ViewsTestBase : public PlatformTest { ...@@ -124,6 +128,10 @@ class ViewsTestBase : public PlatformTest {
internal::NativeWidgetDelegate* delegate); internal::NativeWidgetDelegate* delegate);
protected: protected:
Widget::InitParams CreateParamsForTestWidget(
Widget::InitParams::Type type =
Widget::InitParams::TYPE_WINDOW_FRAMELESS);
// Initialized first, destroyed last. Use this protected member directly from // Initialized first, destroyed last. Use this protected member directly from
// the test body to drive tasks posted within a ViewsTestBase-based test. // the test body to drive tasks posted within a ViewsTestBase-based test.
base::Optional<base::test::TaskEnvironment> task_environment_; base::Optional<base::test::TaskEnvironment> task_environment_;
......
This diff is collapsed.
...@@ -17,18 +17,6 @@ ...@@ -17,18 +17,6 @@
namespace views { namespace views {
namespace { namespace {
// Creates a control widget with the passed in parameters.
// The caller takes ownership of the returned widget.
Widget* CreateControlWidget(aura::Window* parent, const gfx::Rect& bounds) {
Widget::InitParams params(Widget::InitParams::TYPE_CONTROL);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.parent = parent;
params.bounds = bounds;
Widget* widget = new Widget();
widget->Init(std::move(params));
return widget;
}
// Sets the name of |window| and |window|'s layer to |name|. // Sets the name of |window| and |window|'s layer to |name|.
void SetWindowAndLayerName(aura::Window* window, const std::string& name) { void SetWindowAndLayerName(aura::Window* window, const std::string& name) {
window->SetName(name); window->SetName(name);
...@@ -47,13 +35,27 @@ std::string ChildWindowNamesAsString(const aura::Window& parent) { ...@@ -47,13 +35,27 @@ std::string ChildWindowNamesAsString(const aura::Window& parent) {
return names; return names;
} }
using WindowReordererTest = ViewsTestBase; class WindowReordererTest : public ViewsTestBase {
public:
Widget::InitParams CreateParams(Widget::InitParams::Type type) override {
Widget::InitParams params = ViewsTestBase::CreateParams(type);
params.parent = parent_;
return params;
}
std::unique_ptr<Widget> CreateControlWidget(aura::Window* parent) {
parent_ = parent;
return CreateTestWidget(Widget::InitParams::TYPE_CONTROL);
}
private:
aura::Window* parent_ = nullptr;
};
// Test that views with layers and views with associated windows are reordered // Test that views with layers and views with associated windows are reordered
// according to the view hierarchy. // according to the view hierarchy.
TEST_F(WindowReordererTest, Basic) { TEST_F(WindowReordererTest, Basic) {
std::unique_ptr<Widget> parent( std::unique_ptr<Widget> parent = CreateControlWidget(root_window());
CreateControlWidget(root_window(), gfx::Rect(0, 0, 100, 100)));
parent->Show(); parent->Show();
aura::Window* parent_window = parent->GetNativeWindow(); aura::Window* parent_window = parent->GetNativeWindow();
...@@ -68,12 +70,10 @@ TEST_F(WindowReordererTest, Basic) { ...@@ -68,12 +70,10 @@ TEST_F(WindowReordererTest, Basic) {
v->layer()->SetName("v"); v->layer()->SetName("v");
contents_view->AddChildView(v); contents_view->AddChildView(v);
std::unique_ptr<Widget> w1( std::unique_ptr<Widget> w1 = CreateControlWidget(parent_window);
CreateControlWidget(parent_window, gfx::Rect(0, 1, 100, 101)));
SetWindowAndLayerName(w1->GetNativeView(), "w1"); SetWindowAndLayerName(w1->GetNativeView(), "w1");
w1->Show(); w1->Show();
std::unique_ptr<Widget> w2( std::unique_ptr<Widget> w2 = CreateControlWidget(parent_window);
CreateControlWidget(parent_window, gfx::Rect(0, 2, 100, 102)));
SetWindowAndLayerName(w2->GetNativeView(), "w2"); SetWindowAndLayerName(w2->GetNativeView(), "w2");
w2->Show(); w2->Show();
...@@ -130,8 +130,7 @@ TEST_F(WindowReordererTest, Basic) { ...@@ -130,8 +130,7 @@ TEST_F(WindowReordererTest, Basic) {
// - associating the "host" view and window // - associating the "host" view and window
// all correctly reorder the child windows and layers. // all correctly reorder the child windows and layers.
TEST_F(WindowReordererTest, Association) { TEST_F(WindowReordererTest, Association) {
std::unique_ptr<Widget> parent( std::unique_ptr<Widget> parent = CreateControlWidget(root_window());
CreateControlWidget(root_window(), gfx::Rect(0, 0, 100, 100)));
parent->Show(); parent->Show();
aura::Window* parent_window = parent->GetNativeWindow(); aura::Window* parent_window = parent->GetNativeWindow();
...@@ -190,8 +189,7 @@ TEST_F(WindowReordererTest, Association) { ...@@ -190,8 +189,7 @@ TEST_F(WindowReordererTest, Association) {
// view and the parent layer of the associated window are different. Test that // view and the parent layer of the associated window are different. Test that
// the layers and windows are properly reordered in this case. // the layers and windows are properly reordered in this case.
TEST_F(WindowReordererTest, HostViewParentHasLayer) { TEST_F(WindowReordererTest, HostViewParentHasLayer) {
std::unique_ptr<Widget> parent( std::unique_ptr<Widget> parent = CreateControlWidget(root_window());
CreateControlWidget(root_window(), gfx::Rect(0, 0, 100, 100)));
parent->Show(); parent->Show();
aura::Window* parent_window = parent->GetNativeWindow(); aura::Window* parent_window = parent->GetNativeWindow();
...@@ -216,8 +214,7 @@ TEST_F(WindowReordererTest, HostViewParentHasLayer) { ...@@ -216,8 +214,7 @@ TEST_F(WindowReordererTest, HostViewParentHasLayer) {
v11->layer()->SetName("v11"); v11->layer()->SetName("v11");
v1->AddChildView(v11); v1->AddChildView(v11);
std::unique_ptr<Widget> w( std::unique_ptr<Widget> w = CreateControlWidget(parent_window);
CreateControlWidget(parent_window, gfx::Rect(0, 1, 100, 101)));
SetWindowAndLayerName(w->GetNativeView(), "w"); SetWindowAndLayerName(w->GetNativeView(), "w");
w->Show(); w->Show();
...@@ -261,8 +258,7 @@ TEST_F(WindowReordererTest, HostViewParentHasLayer) { ...@@ -261,8 +258,7 @@ TEST_F(WindowReordererTest, HostViewParentHasLayer) {
// Test that a layer added beneath a view is restacked correctly. // Test that a layer added beneath a view is restacked correctly.
TEST_F(WindowReordererTest, ViewWithLayerBeneath) { TEST_F(WindowReordererTest, ViewWithLayerBeneath) {
std::unique_ptr<Widget> parent( std::unique_ptr<Widget> parent = CreateControlWidget(root_window());
CreateControlWidget(root_window(), gfx::Rect(0, 0, 100, 100)));
parent->Show(); parent->Show();
aura::Window* parent_window = parent->GetNativeWindow(); aura::Window* parent_window = parent->GetNativeWindow();
...@@ -285,8 +281,7 @@ TEST_F(WindowReordererTest, ViewWithLayerBeneath) { ...@@ -285,8 +281,7 @@ TEST_F(WindowReordererTest, ViewWithLayerBeneath) {
// Add a hosted window to make WindowReorderer::ReorderChildWindows() restack // Add a hosted window to make WindowReorderer::ReorderChildWindows() restack
// layers. // layers.
std::unique_ptr<Widget> child_widget( std::unique_ptr<Widget> child_widget = CreateControlWidget(parent_window);
CreateControlWidget(parent_window, gfx::Rect(gfx::Rect(0, 0, 50, 50))));
SetWindowAndLayerName(child_widget->GetNativeView(), "child_widget"); SetWindowAndLayerName(child_widget->GetNativeView(), "child_widget");
child_widget->Show(); child_widget->Show();
View* host_view = contents_view->AddChildView(std::make_unique<View>()); View* host_view = contents_view->AddChildView(std::make_unique<View>());
......
...@@ -92,12 +92,8 @@ class DialogTest : public ViewsTestBase { ...@@ -92,12 +92,8 @@ class DialogTest : public ViewsTestBase {
// These tests all expect to use a custom frame on the dialog so they can // These tests all expect to use a custom frame on the dialog so they can
// control hit-testing and other behavior. Custom frames are only supported // control hit-testing and other behavior. Custom frames are only supported
// with a parent widget, so create the parent widget here. // with a parent widget, so create the parent widget here.
views::Widget::InitParams params = parent_widget_ = CreateTestWidget();
CreateParams(views::Widget::InitParams::TYPE_WINDOW); parent_widget_->Show();
params.bounds = gfx::Rect(10, 11, 200, 200);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
parent_widget_.Init(std::move(params));
parent_widget_.Show();
InitializeDialog(); InitializeDialog();
ShowDialog(); ShowDialog();
...@@ -105,7 +101,7 @@ class DialogTest : public ViewsTestBase { ...@@ -105,7 +101,7 @@ class DialogTest : public ViewsTestBase {
void TearDown() override { void TearDown() override {
dialog_->TearDown(); dialog_->TearDown();
parent_widget_.Close(); parent_widget_.reset();
ViewsTestBase::TearDown(); ViewsTestBase::TearDown();
} }
...@@ -126,7 +122,7 @@ class DialogTest : public ViewsTestBase { ...@@ -126,7 +122,7 @@ class DialogTest : public ViewsTestBase {
views::Widget* CreateDialogWidget(DialogDelegate* dialog) { views::Widget* CreateDialogWidget(DialogDelegate* dialog) {
views::Widget* widget = DialogDelegate::CreateDialogWidget( views::Widget* widget = DialogDelegate::CreateDialogWidget(
dialog, GetContext(), parent_widget_.GetNativeView()); dialog, GetContext(), parent_widget_->GetNativeView());
return widget; return widget;
} }
...@@ -139,7 +135,7 @@ class DialogTest : public ViewsTestBase { ...@@ -139,7 +135,7 @@ class DialogTest : public ViewsTestBase {
} }
TestDialog* dialog() const { return dialog_; } TestDialog* dialog() const { return dialog_; }
views::Widget* parent_widget() { return &parent_widget_; } views::Widget* parent_widget() { return parent_widget_.get(); }
protected: protected:
bool accepted_ = false; bool accepted_ = false;
...@@ -147,7 +143,7 @@ class DialogTest : public ViewsTestBase { ...@@ -147,7 +143,7 @@ class DialogTest : public ViewsTestBase {
bool closed_ = false; bool closed_ = false;
private: private:
views::Widget parent_widget_; std::unique_ptr<views::Widget> parent_widget_;
TestDialog* dialog_ = nullptr; TestDialog* dialog_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(DialogTest); DISALLOW_COPY_AND_ASSIGN(DialogTest);
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
namespace views { namespace views {
namespace test { namespace test {
using NonClientViewTest = ViewsTestBase;
namespace { namespace {
class NonClientFrameTestView : public NativeFrameView { class NonClientFrameTestView : public NativeFrameView {
...@@ -58,18 +56,24 @@ class TestWidgetDelegate : public WidgetDelegateView { ...@@ -58,18 +56,24 @@ class TestWidgetDelegate : public WidgetDelegateView {
} }
}; };
class NonClientViewTest : public ViewsTestBase {
public:
Widget::InitParams CreateParams(Widget::InitParams::Type type) override {
Widget::InitParams params = ViewsTestBase::CreateParams(type);
params.delegate = new TestWidgetDelegate;
return params;
}
};
} // namespace } // namespace
// Ensure Layout() is not called excessively on a ClientView when Widget bounds // Ensure Layout() is not called excessively on a ClientView when Widget bounds
// are changing. // are changing.
TEST_F(NonClientViewTest, OnlyLayoutChildViewsOnce) { TEST_F(NonClientViewTest, OnlyLayoutChildViewsOnce) {
Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW); std::unique_ptr<views::Widget> widget =
params.delegate = new TestWidgetDelegate; CreateTestWidget(Widget::InitParams::TYPE_WINDOW);
params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
views::Widget widget;
widget.Init(std::move(params));
NonClientView* non_client_view = widget.non_client_view(); NonClientView* non_client_view = widget->non_client_view();
non_client_view->Layout(); non_client_view->Layout();
auto* frame_view = auto* frame_view =
...@@ -86,7 +90,7 @@ TEST_F(NonClientViewTest, OnlyLayoutChildViewsOnce) { ...@@ -86,7 +90,7 @@ TEST_F(NonClientViewTest, OnlyLayoutChildViewsOnce) {
EXPECT_EQ(client_view->layout_count(), initial_client_view_layouts); EXPECT_EQ(client_view->layout_count(), initial_client_view_layouts);
// Ensure changing bounds triggers a (single) layout. // Ensure changing bounds triggers a (single) layout.
widget.SetBounds(gfx::Rect(0, 0, 161, 100)); widget->SetBounds(gfx::Rect(0, 0, 161, 100));
EXPECT_EQ(frame_view->layout_count(), initial_frame_view_layouts + 1); EXPECT_EQ(frame_view->layout_count(), initial_frame_view_layouts + 1);
EXPECT_EQ(client_view->layout_count(), initial_client_view_layouts + 1); EXPECT_EQ(client_view->layout_count(), initial_client_view_layouts + 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment