Index: content/browser/devtools/render_frame_devtools_agent_host.cc |
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc |
index 508cccda2de748dd43eea03946069f59adf4f9ee..8823e3aece35253632326b3994ab11b11a37f383 100644 |
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc |
@@ -860,15 +860,6 @@ void RenderFrameDevToolsAgentHost::RenderProcessGone( |
} |
bool RenderFrameDevToolsAgentHost::OnMessageReceived( |
- const IPC::Message& message) { |
- if (!current_) |
- return false; |
- if (message.type() == ViewHostMsg_SwapCompositorFrame::ID) |
- OnSwapCompositorFrame(message); |
- return false; |
-} |
- |
-bool RenderFrameDevToolsAgentHost::OnMessageReceived( |
const IPC::Message& message, |
RenderFrameHost* render_frame_host) { |
bool is_current = current_ && current_->host() == render_frame_host; |
@@ -924,6 +915,27 @@ void RenderFrameDevToolsAgentHost::WasHidden() { |
#endif |
} |
+void RenderFrameDevToolsAgentHost::DidReceiveCompositorFrame() { |
+ if (!session()) |
+ return; |
+ const cc::CompositorFrameMetadata& metadata = |
+ RenderWidgetHostImpl::From( |
+ web_contents()->GetRenderViewHost()->GetWidget()) |
+ ->last_frame_metadata(); |
+ protocol::PageHandler* page_handler = |
+ protocol::PageHandler::FromSession(session()); |
+ if (page_handler) |
+ page_handler->OnSwapCompositorFrame(metadata.Clone()); |
+ protocol::InputHandler::FromSession(session())->OnSwapCompositorFrame( |
+ metadata); |
+ protocol::TracingHandler* tracing_handler = |
+ protocol::TracingHandler::FromSession(session()); |
+ if (frame_trace_recorder_ && tracing_handler->did_initiate_recording()) { |
+ frame_trace_recorder_->OnSwapCompositorFrame( |
+ current_ ? current_->host() : nullptr, metadata); |
+ } |
+} |
+ |
void RenderFrameDevToolsAgentHost:: |
DispatchBufferedProtocolMessagesIfNecessary() { |
if (navigating_handles_.empty() && |
@@ -1085,28 +1097,6 @@ base::TimeTicks RenderFrameDevToolsAgentHost::GetLastActivityTime() { |
return base::TimeTicks(); |
} |
-void RenderFrameDevToolsAgentHost::OnSwapCompositorFrame( |
- const IPC::Message& message) { |
- ViewHostMsg_SwapCompositorFrame::Param param; |
- if (!ViewHostMsg_SwapCompositorFrame::Read(&message, ¶m)) |
- return; |
- if (!session()) |
- return; |
- protocol::PageHandler* page_handler = |
- protocol::PageHandler::FromSession(session()); |
- if (page_handler) { |
- page_handler->OnSwapCompositorFrame(std::move(std::get<2>(param).metadata)); |
- } |
- protocol::InputHandler::FromSession(session())->OnSwapCompositorFrame( |
- std::get<2>(param).metadata); |
- protocol::TracingHandler* tracing_handler = |
- protocol::TracingHandler::FromSession(session()); |
- if (frame_trace_recorder_ && tracing_handler->did_initiate_recording()) { |
- frame_trace_recorder_->OnSwapCompositorFrame( |
- current_ ? current_->host() : nullptr, std::get<2>(param).metadata); |
- } |
-} |
- |
void RenderFrameDevToolsAgentHost::SignalSynchronousSwapCompositorFrame( |
RenderFrameHost* frame_host, |
cc::CompositorFrameMetadata frame_metadata) { |