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

Issue 2147633003: PlzNavigate: Eliminate test_runner bailing out of layout tests too early (Closed)

Created:
4 years, 5 months ago by blundell
Modified:
4 years, 4 months ago
CC:
chromium-reviews, jochen+watch_chromium.org, mlamouri+watch-test-runner_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

PlzNavigate: Eliminate test_runner bailing out of layout tests too early //components/test_runner signals that a test is finished if it receives a notificationDone signal from Javascript at a time when (a) it is waiting for such a signal, (b) it does not think it is in the midst of a load, and (c) it has no work in its queue. However, the definition of (b) is flawed for browser-side navigation. The current definition for being in the midst of a load is the time between WebFrameClient::didStartProvisionalLoad() being called and WebFrameClient::didStopLoading() being called. However, for browser-side navigations there is a period of time when navigation is ongoing but the renderer has not yet received the didStartProvisionalLoad() callback. If //components/test_runner gets a notificationDone signal during this period, it can erroneously think that the test is finished. This CL fixes the problem by having WebFrameTestProxy implement WebFrameClient::didStartLoading(), teaching //components/test_runner to be aware of the time period where a navigation is occurring, and using that as input to decide whether a test is finished when it receives a notificationDone signal. Committed: https://crrev.com/987cb78dcfbb737f1042e2395ffba5a8ca1e590d Cr-Commit-Position: refs/heads/master@{#412572}

Patch Set 1 #

Patch Set 2 : Fix same-doc navigation + build, add passing tests #

Total comments: 4

Patch Set 3 : Response to review #

Total comments: 4

Patch Set 4 : Rebase #

Patch Set 5 : Response to review + fix #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+50 lines, -8 lines) Patch
M components/test_runner/test_runner.h View 1 2 3 4 2 chunks +8 lines, -0 lines 0 comments Download
M components/test_runner/test_runner.cc View 1 2 3 4 5 chunks +10 lines, -1 line 0 comments Download
M components/test_runner/web_frame_test_client.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M components/test_runner/web_frame_test_client.cc View 1 2 3 4 1 chunk +12 lines, -0 lines 0 comments Download
M components/test_runner/web_frame_test_proxy.h View 1 2 3 2 chunks +15 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation View 1 2 3 4 5 4 chunks +0 lines, -7 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 25 (11 generated)
blundell
4 years, 5 months ago (2016-07-19 08:32:59 UTC) #2
jochen (gone - plz use gerrit)
clamy@, deferring to you
4 years, 5 months ago (2016-07-19 12:29:02 UTC) #3
clamy
Thanks! A few questions below. https://codereview.chromium.org/2147633003/diff/20001/components/test_runner/test_runner.cc File components/test_runner/test_runner.cc (right): https://codereview.chromium.org/2147633003/diff/20001/components/test_runner/test_runner.cc#newcode1842 components/test_runner/test_runner.cc:1842: is_navigating_ = false; Can ...
4 years, 5 months ago (2016-07-19 13:50:35 UTC) #4
blundell
https://codereview.chromium.org/2147633003/diff/20001/components/test_runner/test_runner.cc File components/test_runner/test_runner.cc (right): https://codereview.chromium.org/2147633003/diff/20001/components/test_runner/test_runner.cc#newcode1842 components/test_runner/test_runner.cc:1842: is_navigating_ = false; On 2016/07/19 13:50:34, clamy wrote: > ...
4 years, 5 months ago (2016-07-21 10:02:18 UTC) #5
blundell
Maybe a cleaner fix is to change |is_navigating_| to be named |is_loading_|, have TestRunner set ...
4 years, 5 months ago (2016-07-21 10:08:36 UTC) #6
clamy
That sounds better to me.
4 years, 5 months ago (2016-07-21 10:49:11 UTC) #7
blundell
On 2016/07/21 10:49:11, clamy wrote: > That sounds better to me. Hi Camille, On further ...
4 years, 5 months ago (2016-07-21 15:03:02 UTC) #8
clamy
Thanks! https://codereview.chromium.org/2147633003/diff/40001/components/test_runner/test_runner.h File components/test_runner/test_runner.h (right): https://codereview.chromium.org/2147633003/diff/40001/components/test_runner/test_runner.h#newcode623 components/test_runner/test_runner.h:623: bool is_navigating_; I find the name is_navigating_ a ...
4 years, 4 months ago (2016-07-27 16:57:05 UTC) #9
blundell
Thanks! https://codereview.chromium.org/2147633003/diff/40001/components/test_runner/test_runner.h File components/test_runner/test_runner.h (right): https://codereview.chromium.org/2147633003/diff/40001/components/test_runner/test_runner.h#newcode623 components/test_runner/test_runner.h:623: bool is_navigating_; On 2016/07/27 16:57:05, clamy (ooo until ...
4 years, 4 months ago (2016-07-29 15:02:46 UTC) #14
blundell
ping :)
4 years, 4 months ago (2016-08-17 13:39:48 UTC) #19
clamy
Thanks! Lgtm.
4 years, 4 months ago (2016-08-17 14:32:21 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2147633003/100001
4 years, 4 months ago (2016-08-17 14:42:22 UTC) #22
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 4 months ago (2016-08-17 17:25:59 UTC) #23
commit-bot: I haz the power
4 years, 4 months ago (2016-08-17 17:30:09 UTC) #25
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/987cb78dcfbb737f1042e2395ffba5a8ca1e590d
Cr-Commit-Position: refs/heads/master@{#412572}

Powered by Google App Engine
This is Rietveld 408576698