Commit b9073051 authored by clamy's avatar clamy Committed by Commit bot

PlzNavigate: check report_raw_headers based on the main frame

Currently we attempt to query
RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled based on the frame
that is navigating. However, there may not be a
RenderFrameDevToolsAgentHost for a subframe that is navigating even
though there is one for the top-level frame, where the NetworkHandler is
active. This prevents from properly reporting headers in subframe
navigations.

BUG=551000
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2628593002
Cr-Commit-Position: refs/heads/master@{#442961}
parent ff8ffc7f
...@@ -92,6 +92,16 @@ bool ShouldCreateDevToolsFor(RenderFrameHost* rfh) { ...@@ -92,6 +92,16 @@ bool ShouldCreateDevToolsFor(RenderFrameHost* rfh) {
return rfh->IsCrossProcessSubframe() || !rfh->GetParent(); return rfh->IsCrossProcessSubframe() || !rfh->GetParent();
} }
bool ShouldCreateDevToolsForNode(FrameTreeNode* ftn) {
return ShouldCreateDevToolsFor(ftn->current_frame_host());
}
static RenderFrameDevToolsAgentHost* GetAgentHostFor(FrameTreeNode* ftn) {
while (ftn && !ShouldCreateDevToolsForNode(ftn))
ftn = ftn->parent();
return FindAgentHost(ftn);
}
} // namespace } // namespace
// RenderFrameDevToolsAgentHost::FrameHostHolder ------------------------------- // RenderFrameDevToolsAgentHost::FrameHostHolder -------------------------------
...@@ -395,7 +405,7 @@ RenderFrameDevToolsAgentHost::CreateThrottleForNavigation( ...@@ -395,7 +405,7 @@ RenderFrameDevToolsAgentHost::CreateThrottleForNavigation(
// static // static
bool RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled( bool RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled(
FrameTreeNode* frame_tree_node) { FrameTreeNode* frame_tree_node) {
RenderFrameDevToolsAgentHost* agent_host = FindAgentHost(frame_tree_node); RenderFrameDevToolsAgentHost* agent_host = GetAgentHostFor(frame_tree_node);
if (!agent_host || !agent_host->session()) if (!agent_host || !agent_host->session())
return false; return false;
return protocol::NetworkHandler::FromSession(agent_host->session()) return protocol::NetworkHandler::FromSession(agent_host->session())
...@@ -405,7 +415,7 @@ bool RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled( ...@@ -405,7 +415,7 @@ bool RenderFrameDevToolsAgentHost::IsNetworkHandlerEnabled(
// static // static
std::string RenderFrameDevToolsAgentHost::UserAgentOverride( std::string RenderFrameDevToolsAgentHost::UserAgentOverride(
FrameTreeNode* frame_tree_node) { FrameTreeNode* frame_tree_node) {
RenderFrameDevToolsAgentHost* agent_host = FindAgentHost(frame_tree_node); RenderFrameDevToolsAgentHost* agent_host = GetAgentHostFor(frame_tree_node);
if (!agent_host || !agent_host->session()) if (!agent_host || !agent_host->session())
return std::string(); return std::string();
return protocol::NetworkHandler::FromSession(agent_host->session()) return protocol::NetworkHandler::FromSession(agent_host->session())
......
...@@ -41,9 +41,6 @@ crbug.com/551000 http/tests/inspector/network/network-document-initiator.html [ ...@@ -41,9 +41,6 @@ crbug.com/551000 http/tests/inspector/network/network-document-initiator.html [
crbug.com/551000 http/tests/inspector/network/network-initiator.html [ Failure ] crbug.com/551000 http/tests/inspector/network/network-initiator.html [ Failure ]
crbug.com/551000 virtual/mojo-loading/http/tests/inspector/network/network-document-initiator.html [ Failure ] crbug.com/551000 virtual/mojo-loading/http/tests/inspector/network/network-document-initiator.html [ Failure ]
crbug.com/551000 virtual/mojo-loading/http/tests/inspector/network/network-initiator.html [ Failure ] crbug.com/551000 virtual/mojo-loading/http/tests/inspector/network/network-initiator.html [ Failure ]
# We are missing several parameters in network har reports.
crbug.com/551000 http/tests/inspector/resource-parameters.html [ Failure ]
crbug.com/551000 virtual/mojo-loading/http/tests/inspector/resource-parameters.html [ Failure ]
# Duplicate started loading output. # Duplicate started loading output.
crbug.com/551000 inspector-protocol/page/frameAttachedDetached.html [ Failure ] crbug.com/551000 inspector-protocol/page/frameAttachedDetached.html [ Failure ]
crbug.com/551000 inspector-protocol/page/frameStartedLoading.html [ Failure ] crbug.com/551000 inspector-protocol/page/frameStartedLoading.html [ Failure ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment