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

Issue 2927983004: [DevTools] Rework RFDTAH navigation tracking with browser side navigation (Closed)

Created:
3 years, 6 months ago by dgozman
Modified:
3 years, 6 months ago
Reviewers:
caseq, pfeldman
CC:
chromium-reviews, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, devtools-reviews_chromium.org, pfeldman
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[DevTools] Rework RFDTAH navigation tracking with browser side navigation This patch introduces a separate code path for browser side navigation. Instead of using pending and current, we keep track of a single RenderFrameHostImpl instance via standard WebContentsObserver notifications. While any navigations are active (determined by the navigation_handles_ set), we put messages to suspended_messages_ instead of sending them to the renderer, resuming once navigations commit to a specific RenderFrameHostImpl instance. While navigation is not active, we send messages to renderer and put them to waiting_for_response_messages_, which are exactly the messages received after last state cookie update (see DevToolsMessageChunkProcessor). BUG=727517 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2927983004 Cr-Commit-Position: refs/heads/master@{#478774} Committed: https://chromium.googlesource.com/chromium/src/+/7e41e3eccc474549778339d62ff5d55483894f68

Patch Set 1 #

Total comments: 21

Patch Set 2 : comments addressed, more test fixes #

Patch Set 3 : better tracking #

Patch Set 4 : format, no printfs #

Patch Set 5 : removed duplicate policy code #

Unified diffs Side-by-side diffs Delta from patch set Stats (+368 lines, -216 lines) Patch
M content/browser/devtools/devtools_agent_host_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/devtools/devtools_agent_host_impl.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/devtools/devtools_manager_unittest.cc View 1 2 chunks +4 lines, -0 lines 0 comments Download
M content/browser/devtools/render_frame_devtools_agent_host.h View 1 2 7 chunks +22 lines, -16 lines 0 comments Download
M content/browser/devtools/render_frame_devtools_agent_host.cc View 1 2 3 4 34 chunks +334 lines, -198 lines 0 comments Download
M content/browser/frame_host/navigation_request.cc View 1 2 1 chunk +0 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 30 (21 generated)
dgozman
https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc File content/browser/devtools/render_frame_devtools_agent_host.cc (right): https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc#newcode189 content/browser/devtools/render_frame_devtools_agent_host.cc:189: ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadRawCookies( This should be removed. https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc#newcode195 content/browser/devtools/render_frame_devtools_agent_host.cc:195: bool process_has_agents ...
3 years, 6 months ago (2017-06-09 22:37:06 UTC) #4
dgozman
Could you please take a look? This is full of fprintfs and wrong formatting, but ...
3 years, 6 months ago (2017-06-09 22:41:50 UTC) #6
caseq
Mostly looks good, but I'm concerned of properly managing of frame_host_. https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc File content/browser/devtools/render_frame_devtools_agent_host.cc (right): ...
3 years, 6 months ago (2017-06-10 00:02:46 UTC) #9
pfeldman
https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc File content/browser/devtools/render_frame_devtools_agent_host.cc (right): https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc#newcode701 content/browser/devtools/render_frame_devtools_agent_host.cc:701: suspended_messages_.clear(); swap with waiting or extract method DispatchMessageOnRenderer. https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc#newcode854 ...
3 years, 6 months ago (2017-06-10 00:32:05 UTC) #10
dgozman
PTAL https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc File content/browser/devtools/render_frame_devtools_agent_host.cc (right): https://codereview.chromium.org/2927983004/diff/1/content/browser/devtools/render_frame_devtools_agent_host.cc#newcode224 content/browser/devtools/render_frame_devtools_agent_host.cc:224: sent_messages_[call_id] = { session_id, call_id, method, message }; ...
3 years, 6 months ago (2017-06-10 01:36:35 UTC) #11
pfeldman
oh boy. lgtm, but please remove logging.
3 years, 6 months ago (2017-06-12 17:02:20 UTC) #16
dgozman
Thank you for review!
3 years, 6 months ago (2017-06-12 19:47:54 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/2927983004/80001
3 years, 6 months ago (2017-06-12 21:35:04 UTC) #27
commit-bot: I haz the power
3 years, 6 months ago (2017-06-12 21:39:20 UTC) #30
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/7e41e3eccc474549778339d62ff5...

Powered by Google App Engine
This is Rietveld 408576698