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

Issue 330113002: Fixing flaky overscroll and touch exploration mode browser tests. (Closed)

Created:
6 years, 6 months ago by mfomitchev
Modified:
6 years, 5 months ago
Reviewers:
sadrul, jam
CC:
chromium-reviews, ben+aura_chromium.org, oshima+watch_chromium.org, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, yuzo+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, kalyank, sadrul, stevenjb+watch_chromium.org, davemoore+watch_chromium.org, nkostylev+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Fixing flaky overscroll and touch exploration mode browser tests The issue is that right after the WebCOntents window is created, it gets resized. The resize message is sent to the rendeer and until the confirmation is received, all mouse moves and touch moves are "held", which affects a bunch of tests. - For in-process browser tests, ensure the resize is completed before the main test body is executed - For content browser tests the solution is a bit more tricky. The WebContents window is lazily created when the first navigation happens and for content browser tests the first navigation doesn't happen as part of the setup. So the fix for this case is to add "wait for resize" functionality to TestNavigationObserver, which is a helper class used to wait for navigations to complete. BUG=305722, 357311 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280356

Patch Set 1 #

Total comments: 2

Patch Set 2 : Addressing review feedback #

Patch Set 3 : Cleanup #

Total comments: 2

Patch Set 4 : Addressing review feedback #

Patch Set 5 : Implementing review feedback. #

Total comments: 4

Patch Set 6 : Addressing review feedback. #

Patch Set 7 : Forgot to update .h #

Total comments: 6

Patch Set 8 : Addressing review feedback. #

Patch Set 9 : Fixing gypil #

Patch Set 10 : Adding back a comment removed by accident. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+140 lines, -21 lines) Patch
M chrome/browser/chromeos/accessibility/touch_exploration_controller_browsertest.cc View 1 2 3 4 2 chunks +12 lines, -10 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_view_aura_browsertest.cc View 1 2 3 4 2 chunks +16 lines, -5 lines 0 comments Download
M content/public/test/browser_test_utils.h View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M content/public/test/browser_test_utils.cc View 1 2 3 4 5 6 7 3 chunks +40 lines, -6 lines 0 comments Download
M ui/aura/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M ui/aura/aura.gyp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
A ui/aura/test/window_event_dispatcher_test_api.h View 1 2 3 4 5 6 7 1 chunk +31 lines, -0 lines 0 comments Download
A ui/aura/test/window_event_dispatcher_test_api.cc View 1 2 3 4 5 6 7 1 chunk +22 lines, -0 lines 0 comments Download
M ui/aura/window_event_dispatcher.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (0 generated)
mfomitchev
6 years, 6 months ago (2014-06-12 16:56:05 UTC) #1
sadrul
https://codereview.chromium.org/330113002/diff/1/content/public/test/browser_test_utils.cc File content/public/test/browser_test_utils.cc (right): https://codereview.chromium.org/330113002/diff/1/content/public/test/browser_test_utils.cc#newcode248 content/public/test/browser_test_utils.cc:248: Could this work with RenderWidgetHostImpl::resize_ack_pending_ instead of with aura::WindowEventDispatcher::move_hold_count_? ...
6 years, 6 months ago (2014-06-12 23:25:52 UTC) #2
mfomitchev
Done. Does this rest of it look okay in general? https://codereview.chromium.org/330113002/diff/1/content/public/test/browser_test_utils.cc File content/public/test/browser_test_utils.cc (right): https://codereview.chromium.org/330113002/diff/1/content/public/test/browser_test_utils.cc#newcode248 ...
6 years, 6 months ago (2014-06-13 15:20:57 UTC) #3
mfomitchev
Cleaned up the code - ready for a real review now.
6 years, 6 months ago (2014-06-13 15:55:01 UTC) #4
mfomitchev
https://codereview.chromium.org/330113002/diff/40001/content/public/test/browser_test_utils.cc File content/public/test/browser_test_utils.cc (right): https://codereview.chromium.org/330113002/diff/40001/content/public/test/browser_test_utils.cc#newcode223 content/public/test/browser_test_utils.cc:223: WaitForResizeComplete(web_contents); I wonder if we should make it so ...
6 years, 6 months ago (2014-06-13 15:56:21 UTC) #5
mfomitchev
@jam - can you please review? Thank you!
6 years, 6 months ago (2014-06-16 17:20:36 UTC) #6
jam
Almost most browser tests don't care about resize events. Why do this for all tests?
6 years, 6 months ago (2014-06-16 19:59:53 UTC) #7
mfomitchev
All touch and mouse moves are "held" while the resize is in progress. Most browser ...
6 years, 6 months ago (2014-06-16 21:34:00 UTC) #8
jam
On 2014/06/16 21:34:00, mfomitchev wrote: > All touch and mouse moves are "held" while the ...
6 years, 6 months ago (2014-06-16 22:48:27 UTC) #9
mfomitchev
Ok, fair enough. I've removed the changes to the base test classes. I've made the ...
6 years, 6 months ago (2014-06-18 02:07:40 UTC) #10
jam
https://codereview.chromium.org/330113002/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/330113002/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc#newcode734 content/browser/renderer_host/render_widget_host_impl.cc:734: bool RenderWidgetHostImpl::IsResizeAckPendingForTesting() { nit: inline this in the header ...
6 years, 6 months ago (2014-06-19 16:25:31 UTC) #11
mfomitchev
https://codereview.chromium.org/330113002/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/330113002/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc#newcode734 content/browser/renderer_host/render_widget_host_impl.cc:734: bool RenderWidgetHostImpl::IsResizeAckPendingForTesting() { On 2014/06/19 16:25:31, jam wrote: > ...
6 years, 6 months ago (2014-06-19 20:04:57 UTC) #12
jam
lgtm https://codereview.chromium.org/330113002/diff/120001/content/browser/renderer_host/render_widget_host_impl.h File content/browser/renderer_host/render_widget_host_impl.h (right): https://codereview.chromium.org/330113002/diff/120001/content/browser/renderer_host/render_widget_host_impl.h#newcode259 content/browser/renderer_host/render_widget_host_impl.h:259: inline bool resize_ack_pending_for_testing() {return resize_ack_pending_;} nit: { return ...
6 years, 6 months ago (2014-06-23 07:12:05 UTC) #13
sadrul
https://codereview.chromium.org/330113002/diff/120001/ui/aura/window_event_dispatcher.h File ui/aura/window_event_dispatcher.h (right): https://codereview.chromium.org/330113002/diff/120001/ui/aura/window_event_dispatcher.h#newcode102 ui/aura/window_event_dispatcher.h:102: Do not add this here. Use a WindowEventDispatcherTestApi instead ...
6 years, 6 months ago (2014-06-24 17:22:11 UTC) #14
mfomitchev
https://codereview.chromium.org/330113002/diff/120001/content/browser/renderer_host/render_widget_host_impl.h File content/browser/renderer_host/render_widget_host_impl.h (right): https://codereview.chromium.org/330113002/diff/120001/content/browser/renderer_host/render_widget_host_impl.h#newcode259 content/browser/renderer_host/render_widget_host_impl.h:259: inline bool resize_ack_pending_for_testing() {return resize_ack_pending_;} On 2014/06/23 07:12:05, jam ...
6 years, 6 months ago (2014-06-24 19:54:25 UTC) #15
sadrul
lgtm
6 years, 5 months ago (2014-06-25 22:28:05 UTC) #16
mfomitchev
The CQ bit was checked by mfomitchev@chromium.org
6 years, 5 months ago (2014-06-25 22:29:22 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mfomitchev@chromium.org/330113002/140001
6 years, 5 months ago (2014-06-25 22:31:16 UTC) #18
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-06-26 01:43:53 UTC) #19
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-06-26 01:47:44 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/200319) ios_dbg_simulator on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_dbg_simulator/builds/165093) ios_rel_device ...
6 years, 5 months ago (2014-06-26 01:47:45 UTC) #21
mfomitchev
The CQ bit was checked by mfomitchev@chromium.org
6 years, 5 months ago (2014-06-26 20:52:32 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mfomitchev@chromium.org/330113002/140001
6 years, 5 months ago (2014-06-26 20:53:28 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-06-26 21:58:14 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-06-26 22:00:20 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device_ninja/builds/25228)
6 years, 5 months ago (2014-06-26 22:00:21 UTC) #26
mfomitchev
The CQ bit was checked by mfomitchev@chromium.org
6 years, 5 months ago (2014-06-26 22:08:16 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mfomitchev@chromium.org/330113002/140001
6 years, 5 months ago (2014-06-26 22:09:30 UTC) #28
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-06-26 23:07:45 UTC) #29
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-06-26 23:10:36 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device/builds/154747) ios_rel_device_ninja on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device_ninja/builds/25251)
6 years, 5 months ago (2014-06-26 23:10:37 UTC) #31
mfomitchev
The CQ bit was checked by mfomitchev@chromium.org
6 years, 5 months ago (2014-06-26 23:25:30 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mfomitchev@chromium.org/330113002/140001
6 years, 5 months ago (2014-06-26 23:27:37 UTC) #33
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-06-27 00:22:58 UTC) #34
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-06-27 00:26:13 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device/builds/154772) ios_rel_device_ninja on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/ios_rel_device_ninja/builds/25267)
6 years, 5 months ago (2014-06-27 00:26:14 UTC) #36
mfomitchev
The CQ bit was checked by mfomitchev@chromium.org
6 years, 5 months ago (2014-06-27 12:50:08 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mfomitchev@chromium.org/330113002/180001
6 years, 5 months ago (2014-06-27 12:50:43 UTC) #38
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_dbg_triggered_tests on tryserver.chromium ...
6 years, 5 months ago (2014-06-27 16:17:29 UTC) #39
commit-bot: I haz the power
6 years, 5 months ago (2014-06-27 17:37:13 UTC) #40
Message was sent while issue was closed.
Change committed as 280356

Powered by Google App Engine
This is Rietveld 408576698