Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(439)

Unified Diff: ui/views/widget/widget_unittest.cc

Issue 2032573002: views: Fix a couple of flaky tests on windows/linux, disable them on mus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/widget_unittest.cc
diff --git a/ui/views/widget/widget_unittest.cc b/ui/views/widget/widget_unittest.cc
index 84d660088a45c44340de4b6d93a242b0b274cfe5..a716fc3559c92c190fc2e597f26ea9cb3c23ff60 100644
--- a/ui/views/widget/widget_unittest.cc
+++ b/ui/views/widget/widget_unittest.cc
@@ -1315,6 +1315,26 @@ class DesktopAuraTestValidPaintWidget : public views::Widget {
void InitForTest(Widget::InitParams create_params);
+ bool ReadReceivedPaintAndReset() {
+ bool result = received_paint_;
+ received_paint_ = false;
+ return result;
+ }
+
+ bool received_paint_while_hidden() const {
+ return received_paint_while_hidden_;
+ }
+
+ void WaitUntilPaint() {
+ if (received_paint_)
+ return;
+ base::RunLoop runloop;
+ quit_closure_ = runloop.QuitClosure();
+ runloop.Run();
+ quit_closure_ = base::Closure();
+ }
+
+ // views::Widget:
void Show() override {
expect_paint_ = true;
views::Widget::Show();
@@ -1336,22 +1356,15 @@ class DesktopAuraTestValidPaintWidget : public views::Widget {
if (!expect_paint_)
received_paint_while_hidden_ = true;
views::Widget::OnNativeWidgetPaint(context);
- }
-
- bool ReadReceivedPaintAndReset() {
- bool result = received_paint_;
- received_paint_ = false;
- return result;
- }
-
- bool received_paint_while_hidden() const {
- return received_paint_while_hidden_;
+ if (!quit_closure_.is_null())
+ quit_closure_.Run();
}
private:
bool received_paint_;
bool expect_paint_;
bool received_paint_while_hidden_;
+ base::Closure quit_closure_;
DISALLOW_COPY_AND_ASSIGN(DesktopAuraTestValidPaintWidget);
};
@@ -1371,17 +1384,13 @@ void DesktopAuraTestValidPaintWidget::InitForTest(InitParams init_params) {
Activate();
}
-#if defined(OS_LINUX) || defined(OS_WIN)
-// Flaky on Linux rel ng: https://crbug.com/596039.
-#define MAYBE_DesktopNativeWidgetNoPaintAfterCloseTest DISABLED_DesktopNativeWidgetNoPaintAfterCloseTest
-#else
-#define MAYBE_DesktopNativeWidgetNoPaintAfterCloseTest DesktopNativeWidgetNoPaintAfterCloseTest
-#endif
-
-TEST_F(WidgetTest, MAYBE_DesktopNativeWidgetNoPaintAfterCloseTest) {
+TEST_F(WidgetTest, DesktopNativeWidgetNoPaintAfterCloseTest) {
+ // TODO(sad): Desktop widgets do not work well in mus https://crbug.com/616551
+ if (IsMus())
+ return;
DesktopAuraTestValidPaintWidget widget;
widget.InitForTest(CreateParams(Widget::InitParams::TYPE_WINDOW_FRAMELESS));
- RunPendingMessages();
+ widget.WaitUntilPaint();
EXPECT_TRUE(widget.ReadReceivedPaintAndReset());
widget.SchedulePaintInRect(widget.GetRestoredBounds());
widget.Close();
@@ -1390,16 +1399,13 @@ TEST_F(WidgetTest, MAYBE_DesktopNativeWidgetNoPaintAfterCloseTest) {
EXPECT_FALSE(widget.received_paint_while_hidden());
}
-// Flaky; see https://crbug.com/596039.
-#if defined(OS_LINUX) || defined(OS_WIN)
-#define MAYBE_DesktopNativeWidgetNoPaintAfterHideTest DISABLED_DesktopNativeWidgetNoPaintAfterHideTest
-#else
-#define MAYBE_DesktopNativeWidgetNoPaintAfterHideTest DesktopNativeWidgetNoPaintAfterHideTest
-#endif
-TEST_F(WidgetTest, MAYBE_DesktopNativeWidgetNoPaintAfterHideTest) {
+TEST_F(WidgetTest, DesktopNativeWidgetNoPaintAfterHideTest) {
+ // TODO(sad): Desktop widgets do not work well in mus https://crbug.com/616551
+ if (IsMus())
+ return;
DesktopAuraTestValidPaintWidget widget;
widget.InitForTest(CreateParams(Widget::InitParams::TYPE_WINDOW_FRAMELESS));
- RunPendingMessages();
+ widget.WaitUntilPaint();
EXPECT_TRUE(widget.ReadReceivedPaintAndReset());
widget.SchedulePaintInRect(widget.GetRestoredBounds());
widget.Hide();
@@ -3644,6 +3650,9 @@ private:
// under the currently active modal top-level window. In this instance, the
// remaining top-level windows should be re-enabled.
TEST_F(WidgetTest, WindowModalOwnerDestroyedEnabledTest) {
+ // Modality etc. are controlled by mus.
+ if (IsMus())
+ return;
// top_level_widget owns owner_dialog_widget which owns owned_dialog_widget.
Widget top_level_widget;
Widget owner_dialog_widget;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698