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

Issue 2830753004: Pipe the devTools FrameId from blink into the browser for headless (Closed)

Created:
3 years, 8 months ago by alex clarke (OOO till 29th)
Modified:
3 years, 7 months ago
CC:
apavlov+blink_chromium.org, blink-reviews, blink-reviews-api_chromium.org, blink-reviews-frames_chromium.org, caseq+blink_chromium.org, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, dcheng, devtools-reviews_chromium.org, dglazkov+blink, jam, kinuko+watch, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, mlamouri+watch-content_chromium.org, nasko, nasko+codewatch_chromium.org, ncarter (slow), pfeldman, pfeldman+blink_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Pipe the devTools FrameId from blink into the browser for headless Headless chrome needs this information because we wish to know which frames resources came from. BUG=715541 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2830753004 Cr-Commit-Position: refs/heads/master@{#468932} Committed: https://chromium.googlesource.com/chromium/src/+/ada1e2d7eb1bace10236e750ca89f4f715d63a37

Patch Set 1 #

Patch Set 2 : Fix threadding bug in test #

Patch Set 3 : Fix PlzNavigate #

Patch Set 4 : Add include for msvc #

Total comments: 10

Patch Set 5 : Changes for Sami and creis@ #

Total comments: 11

Patch Set 6 : Changes for dgozman@ #

Total comments: 30

Patch Set 7 : Changes for creis@ #

Total comments: 2

Patch Set 8 : Rebased #

Total comments: 9

Patch Set 9 : Made the test also load resources #

Patch Set 10 : Add a comment #

Patch Set 11 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+447 lines, -11 lines) Patch
M content/browser/devtools/devtools_agent_host_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +20 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +13 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/browser/devtools_agent_host.h View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -0 lines 0 comments Download
M headless/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M headless/lib/browser/headless_browser_context_impl.h View 1 2 3 4 5 6 7 8 9 3 chunks +17 lines, -0 lines 0 comments Download
M headless/lib/browser/headless_browser_context_impl.cc View 1 2 3 4 5 6 7 1 chunk +26 lines, -0 lines 0 comments Download
M headless/lib/browser/headless_web_contents_impl.h View 1 2 3 4 5 6 2 chunks +10 lines, -0 lines 0 comments Download
M headless/lib/browser/headless_web_contents_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +21 lines, -0 lines 0 comments Download
A headless/lib/frame_id_browsertest.cc View 1 2 3 4 5 6 7 8 1 chunk +265 lines, -0 lines 0 comments Download
M headless/public/headless_web_contents.h View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M headless/public/util/generic_url_request_job.h View 1 3 chunks +10 lines, -5 lines 0 comments Download
M headless/public/util/generic_url_request_job.cc View 1 2 3 4 5 6 3 chunks +15 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrameClient.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +9 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/LocalFrameClientImpl.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/LocalFrameClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebFrameClient.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 81 (54 generated)
alex clarke (OOO till 29th)
PTAL
3 years, 8 months ago (2017-04-20 14:09:09 UTC) #4
dgozman
We discussed stable frame ids with other content owners, and there is some movement in ...
3 years, 8 months ago (2017-04-21 23:08:59 UTC) #21
alex clarke (OOO till 29th)
On 2017/04/21 23:08:59, dgozman wrote: > We discussed stable frame ids with other content owners, ...
3 years, 8 months ago (2017-04-24 09:27:07 UTC) #22
Sami
Thanks, this seems like a workable (intermediate?) solution. Just one thought about the public API ...
3 years, 8 months ago (2017-04-24 19:54:05 UTC) #23
Charlie Reis
I have some concerns about landing this as is. https://codereview.chromium.org/2830753004/diff/60001/content/browser/devtools/devtools_agent_host_impl.cc File content/browser/devtools/devtools_agent_host_impl.cc (right): https://codereview.chromium.org/2830753004/diff/60001/content/browser/devtools/devtools_agent_host_impl.cc#newcode63 content/browser/devtools/devtools_agent_host_impl.cc:63: ...
3 years, 8 months ago (2017-04-24 20:26:42 UTC) #25
Sami
Thanks for the feedback Charlie. With those adjustments do we think this would be an ...
3 years, 8 months ago (2017-04-25 11:36:07 UTC) #26
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/2830753004/diff/60001/content/browser/devtools/devtools_agent_host_impl.cc File content/browser/devtools/devtools_agent_host_impl.cc (right): https://codereview.chromium.org/2830753004/diff/60001/content/browser/devtools/devtools_agent_host_impl.cc#newcode63 content/browser/devtools/devtools_agent_host_impl.cc:63: int frame_tree_node_id) { On 2017/04/24 20:26:42, Charlie Reis ...
3 years, 8 months ago (2017-04-25 15:01:03 UTC) #28
dgozman
Let's create a separate bug to make it easier to track various frame ids in ...
3 years, 8 months ago (2017-04-25 22:04:49 UTC) #32
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/2830753004/diff/80001/content/browser/devtools/devtools_agent_host_impl.cc File content/browser/devtools/devtools_agent_host_impl.cc (right): https://codereview.chromium.org/2830753004/diff/80001/content/browser/devtools/devtools_agent_host_impl.cc#newcode73 content/browser/devtools/devtools_agent_host_impl.cc:73: ->current_frame_host() On 2017/04/25 22:04:48, dgozman wrote: > Let's ...
3 years, 8 months ago (2017-04-26 14:19:54 UTC) #34
alex clarke (OOO till 29th)
Forgot to mention I've added a specific bug as requested.
3 years, 8 months ago (2017-04-26 14:20:23 UTC) #35
Sami
headless/ lgtm, thanks! https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_web_contents_impl.cc File headless/lib/browser/headless_web_contents_impl.cc (right): https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_web_contents_impl.cc#newcode223 headless/lib/browser/headless_web_contents_impl.cc:223: void RemoveFrameTreeNode(int render_process_id, int render_frame_id); Probably ...
3 years, 8 months ago (2017-04-26 16:21:17 UTC) #36
Charlie Reis
Thanks. The frameId stuff is a little better now, though I noticed some other potential ...
3 years, 8 months ago (2017-04-26 19:52:54 UTC) #37
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/2830753004/diff/100001/content/browser/devtools/devtools_agent_host_impl.cc File content/browser/devtools/devtools_agent_host_impl.cc (right): https://codereview.chromium.org/2830753004/diff/100001/content/browser/devtools/devtools_agent_host_impl.cc#newcode74 content/browser/devtools/devtools_agent_host_impl.cc:74: render_frame_host_impl->GetProcess()->GetID() != process_id) { On 2017/04/26 19:52:55, Charlie ...
3 years, 7 months ago (2017-04-27 08:49:44 UTC) #44
dgozman
This patch lgtm as a temporary solution, if we are sure to follow up with ...
3 years, 7 months ago (2017-04-27 17:12:06 UTC) #47
Charlie Reis
Thanks. Some additional questions below, though I suppose we may be stuck with some of ...
3 years, 7 months ago (2017-04-27 18:58:03 UTC) #48
dgozman
> I don't understand. BindToWebFrame is passed a LocalFrame that has just been > constructed ...
3 years, 7 months ago (2017-04-27 19:42:49 UTC) #49
Charlie Reis
[CC lfg, dcheng] https://codereview.chromium.org/2830753004/diff/80001/third_party/WebKit/public/web/WebFrameClient.h File third_party/WebKit/public/web/WebFrameClient.h (right): https://codereview.chromium.org/2830753004/diff/80001/third_party/WebKit/public/web/WebFrameClient.h#newcode261 third_party/WebKit/public/web/WebFrameClient.h:261: virtual void SetDevToolsFrameId(const blink::WebString& devtools_frame_id) {} ...
3 years, 7 months ago (2017-04-27 20:07:34 UTC) #50
lfg
On 2017/04/27 20:07:34, Charlie Reis wrote: > [CC lfg, dcheng] > > https://codereview.chromium.org/2830753004/diff/80001/third_party/WebKit/public/web/WebFrameClient.h > File ...
3 years, 7 months ago (2017-04-27 20:55:49 UTC) #51
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_browser_context_impl.h File headless/lib/browser/headless_browser_context_impl.h (right): https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_browser_context_impl.h#newcode111 headless/lib/browser/headless_browser_context_impl.h:111: mutable base::Lock frame_tree_node_map_lock_; // Guards frame_tree_node_map_ On 2017/04/27 ...
3 years, 7 months ago (2017-04-28 09:14:45 UTC) #52
Charlie Reis
Ok, I suppose this will have to do for now. LGTM. https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_browser_context_impl.h File headless/lib/browser/headless_browser_context_impl.h (right): ...
3 years, 7 months ago (2017-04-28 20:29:03 UTC) #62
alex clarke (OOO till 29th)
+Mike West could you please review changes in content/common/frame_messages.h and third_party/WebKit/public/web/WebFrameClient.h https://codereview.chromium.org/2830753004/diff/100001/headless/lib/browser/headless_browser_context_impl.h File headless/lib/browser/headless_browser_context_impl.h (right): ...
3 years, 7 months ago (2017-05-02 08:24:11 UTC) #66
Mike West
LGTM
3 years, 7 months ago (2017-05-03 07:54:49 UTC) #69
alex clarke (OOO till 29th)
Thanks all!
3 years, 7 months ago (2017-05-03 08:06:14 UTC) #70
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/2830753004/200001
3 years, 7 months ago (2017-05-03 08:06:38 UTC) #73
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/426126)
3 years, 7 months ago (2017-05-03 08:13:42 UTC) #75
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/2830753004/220001
3 years, 7 months ago (2017-05-03 08:19:04 UTC) #78
commit-bot: I haz the power
3 years, 7 months ago (2017-05-03 10:39:08 UTC) #81
Message was sent while issue was closed.
Committed patchset #11 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/ada1e2d7eb1bace10236e750ca89...

Powered by Google App Engine
This is Rietveld 408576698