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

Issue 2377453002: Deflake RaceCrossOriginNavigationAndSamePageHistoryNavigation test. (Closed)

Created:
4 years, 2 months ago by nasko
Modified:
4 years, 2 months ago
CC:
chromium-reviews, jam, nasko+codewatch_chromium.org, darin-cc_chromium.org, creis+watch_chromium.org, site-isolation-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Deflake RaceCrossOriginNavigationAndSamePageHistoryNavigation test. This test was dropping the commit IPC message, which casued some flaky runs. The fix for that is to not drop the message, but to still process it and ensure it issues a GoBack navigation command before it is processed. This CL also introduces a new observer object that can track only a commit of a specific URL in a frame. BUG=645022 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/29b2a5a88cf2c558d67e2befaeb5d2bb9ecdfd36 Cr-Commit-Position: refs/heads/master@{#421044}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fixes based on Charlie's review. #

Patch Set 3 : Add a HasCommitted check. #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+90 lines, -22 lines) Patch
M content/browser/frame_host/navigation_controller_impl_browsertest.cc View 1 4 chunks +39 lines, -22 lines 6 comments Download
M content/test/content_browser_test_utils_internal.h View 1 chunk +25 lines, -0 lines 0 comments Download
M content/test/content_browser_test_utils_internal.cc View 1 2 2 chunks +26 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (7 generated)
nasko
Hey Charlie, Can you review this CL for me? It should fix the flakiness in ...
4 years, 2 months ago (2016-09-26 20:28:12 UTC) #3
Charlie Reis
Thanks for fixing this! Looks good, with one question about a possible hang below, plus ...
4 years, 2 months ago (2016-09-26 20:58:38 UTC) #4
nasko
https://codereview.chromium.org/2377453002/diff/1/content/browser/frame_host/navigation_controller_impl_browsertest.cc File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2377453002/diff/1/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5974 content/browser/frame_host/navigation_controller_impl_browsertest.cc:5974: class CommitMessageFilter : public BrowserMessageFilter { On 2016/09/26 20:58:38, ...
4 years, 2 months ago (2016-09-26 22:03:50 UTC) #6
Charlie Reis
Thanks! LGTM.
4 years, 2 months ago (2016-09-26 22:32:53 UTC) #8
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/2377453002/40001
4 years, 2 months ago (2016-09-26 22:40:03 UTC) #10
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 2 months ago (2016-09-27 00:07:28 UTC) #11
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/29b2a5a88cf2c558d67e2befaeb5d2bb9ecdfd36 Cr-Commit-Position: refs/heads/master@{#421044}
4 years, 2 months ago (2016-09-27 00:12:32 UTC) #13
Avi (use Gerrit)
https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5971 content/browser/frame_host/navigation_controller_impl_browsertest.cc:5971: // A BrowserMessageFilter that delays FrameHostMsg_DidCommitProvisionaLoad IPC ProvisionalLoad https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5991 ...
4 years, 2 months ago (2016-09-27 15:19:18 UTC) #15
nasko
https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5971 content/browser/frame_host/navigation_controller_impl_browsertest.cc:5971: // A BrowserMessageFilter that delays FrameHostMsg_DidCommitProvisionaLoad IPC On 2016/09/27 ...
4 years, 2 months ago (2016-09-27 15:25:21 UTC) #16
Avi (use Gerrit)
https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5971 content/browser/frame_host/navigation_controller_impl_browsertest.cc:5971: // A BrowserMessageFilter that delays FrameHostMsg_DidCommitProvisionaLoad IPC On 2016/09/27 ...
4 years, 2 months ago (2016-09-27 15:51:57 UTC) #17
nasko
> https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_host/navigation_controller_impl_browsertest.cc#newcode5991 > content/browser/frame_host/navigation_controller_impl_browsertest.cc:5991: > rfh->OnMessageReceived(message); > On 2016/09/27 15:25:21, nasko (slow) wrote: > > ...
4 years, 2 months ago (2016-09-27 16:05:38 UTC) #18
Avi (use Gerrit)
4 years, 2 months ago (2016-09-27 16:13:53 UTC) #19
Message was sent while issue was closed.
On 2016/09/27 16:05:38, nasko (slow) wrote:
> >
>
https://codereview.chromium.org/2377453002/diff/40001/content/browser/frame_h...
> > content/browser/frame_host/navigation_controller_impl_browsertest.cc:5991:
> > rfh->OnMessageReceived(message);
> > On 2016/09/27 15:25:21, nasko (slow) wrote:
> > > I have to move it, as this method is only called for the
> > > FrameHostMsg_DidCommitProvisionalLoad IPC, which is handled on the UI
> thread.
> > 
> > How is DidCommit handled on the UI thread? I'm missing a piece of the puzzle
> > here.
> > 
> > Either a BrowserMessageFilter says to handle it on the UI thread, in which
> case
> > we're already on the correct thread in OnMessageReceived, below, so why the
> > PostTask, or OnMessageReceived is being called on the IO thread, in which
case
> > the PostTask is necessary, but then how does that work in the general case
> where
> > we're not inserting a filter?
> 
> When an IPC arrives on the IO thread, it is delivered to all
> BrowserMessageFilters registered. By definition, BrowserMessageFilters run on
> the IO thread. If none of the filter handles the message, it is delivered to
the
> UI thread to RenderProcessHostImpl::OnMessageReceived for further dispatching
to
> the right object, based on routing id.

I did not know that. Thank you.

Powered by Google App Engine
This is Rietveld 408576698