New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 771337 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 8
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-07-30
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 775030



Sign in to add a comment

[meta] Rethink WebContentsObserver::DidReceiveCompositorFrame

Project Member Reported by fsamuel@google.com, Oct 3 2017

Issue description

Since CompositorFrames will go to a different process this content API should ideally not exist at all.

Alternatively we maybe need a viz host hook that tells us when a given client submits a new CompositorFrame. This is likely going to be expensive so I recommend auditing all uses of WebContentsObserver::DidReceiveCompositorFrame and rethinking them.
 

Comment 1 by piman@chromium.org, Oct 3 2017

I'm not sure it's used beyond DevTools and FrameWatcher for tests.

Comment 2 by fsamuel@google.com, Oct 3 2017

Cc: jonr...@chromium.org
Ahh then we should replace this with a viz test interface, if that's the case.

+jonross@ as he's been thinking about tests.
piman@ is right. I added this method to be able to notify FrameWatcher (tests only) and DevTools when a CompositorFrame arrives(CL: https://codereview.chromium.org/2780373002/). I think decoupling content-related fields from CompositorFrameMetadata might automatically solve this issue, because I think those are the only fields that FrameWatcher and DevTools look into.

Comment 4 by ericrk@chromium.org, Oct 12 2017

Labels: -Type-Bug Type-Feature
Status: Available (was: Untriaged)
Blocking: -730193 775030
Components: -Internals>Compositing Internals>Services>Viz
 Issue 791024  has been merged into this issue.
From the merged bug, this used by:

browser_test_utils::FrameWatcher
DevToolsEyeDropper
RenderFrameDevToolsAgentHost
HeadlessWebContentsImpl

I plan to kill FrameWatcher when I unify our 4? test apis for listening to frame submission.

The others can likely also make use of the RenderFrameMetadata observing.

Comment 9 by samans@chromium.org, May 11 2018

NextAction: 2018-07-30
Owner: samans@chromium.org
Status: Assigned (was: Available)
The only usages of DidReceiveCompositorFrame are in DevToolsEyeDropper and RenderFrameDevToolsAgentHost. Assigning to myself so I can get rid of this method after the old DevTools code paths for video capture is gone.
The NextAction date has arrived: 2018-07-30
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9

commit 5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9
Author: Saman Sami <samans@chromium.org>
Date: Wed Aug 08 12:12:25 2018

Remove UseVideoCaptureApiForDevToolsSnapshots feature

This feature is on in M68, and M69 also has this switch just in case.
Remove it in M70.

Bug:  813929 ,  771337 
Change-Id: Id411c324a136bc7321912e2dac6f2eb5ca0892ca
Reviewed-on: https://chromium-review.googlesource.com/1162265
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Saman Sami <samans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581525}
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/chrome/browser/devtools/devtools_eye_dropper.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/chrome/browser/devtools/devtools_eye_dropper.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/devtools_frame_trace_recorder.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/devtools_frame_trace_recorder.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/protocol/tracing_handler.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/render_frame_devtools_agent_host.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/devtools/render_frame_devtools_agent_host.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/renderer_host/render_widget_host_delegate.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/public/browser/web_contents_observer.h
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/public/common/content_features.cc
[modify] https://crrev.com/5cc093d4dcc3af1444f7e1d72e4a284e4b5dc7e9/content/public/common/content_features.h

Status: Fixed (was: Assigned)

Sign in to add a comment