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

Issue 615133002: Add support for a virtual display on ChromeOS (Closed)

Created:
6 years, 2 months ago by robert.bradford
Modified:
4 years, 10 months ago
CC:
chromium-reviews, dbeam+watch-options_chromium.org, ozone-reviews_chromium.org, sadrul, arv+watch_chromium.org, oshima+watch_chromium.org, piman+watch_chromium.org, kalyank, stevenjb+watch_chromium.org, ben+ash_chromium.org, marcheu
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for a virtual display on ChromeOS The purpose of this feature is to extend the desktop capture functionality by allowing the creation of a virtual screen at capture request time. The use case here is to mimic, with e.g. a Chrome Cast, the behaviour that can be achieved with a physically connected projector i.e that a presenter can have slides showing whilst keeping notes on their own private screen. The "Virtual Display" appears as entry in the display picker, with a new DesktopMediaID type. In the DesktopCaptureDeviceAura if an item of this type is requested for capture the virtual screen is enabled in the DisplayConfigurator and the resulting Aura root window used for capture. BUG=425060 TEST=Use desktopCapture example extension, choose the Virtual Screen when prompted and observe a new virtual display is created. When the capture is stopped observe that the virtual display disappears.

Patch Set 1 #

Patch Set 2 : Remove changes to NDD - do all work in ash (from Lionel Landwerlin) #

Patch Set 3 : Add support for enabling virtual screen capture from desktop media picker #

Patch Set 4 : Remove enable/disable virtual output controls from the display settings #

Patch Set 5 : Fix gn build and change default resolution to 720p #

Patch Set 6 : Rebased patch #

Patch Set 7 : Handle async display setup #

Patch Set 8 : Handle duplicate launches #

Patch Set 9 : Use capture resolution as display size #

Patch Set 10 : Add unit test for virtual display support #

Patch Set 11 : Rebase on ToT #

Total comments: 20

Patch Set 12 : Integrate feedback from achuithb@ #

Patch Set 13 : Fix remaining comment periods (thanks achuithb@) #

Total comments: 42

Patch Set 14 : Remove ash/ dep from content #

Unified diffs Side-by-side diffs Delta from patch set Stats (+516 lines, -14 lines) Patch
M ash/ash_strings.grd View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M ash/display/display_change_observer_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +12 lines, -4 lines 0 comments Download
M chrome/app/generated_resources.grd View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/media/desktop_media_list_ash.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +77 lines, -0 lines 0 comments Download
M content/browser/media/capture/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
A content/browser/media/capture/virtual_display_capturer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +63 lines, -0 lines 0 comments Download
A content/browser/media/capture/virtual_display_capturer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +89 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +9 lines, -1 line 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -0 lines 0 comments Download
M content/public/browser/desktop_media_id.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +7 lines, -1 line 0 comments Download
M content/public/browser/desktop_media_id.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +30 lines, -1 line 0 comments Download
M ui/display/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -0 lines 0 comments Download
M ui/display/DEPS View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M ui/display/chromeos/configure_displays_task.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +10 lines, -3 lines 0 comments Download
M ui/display/chromeos/display_configurator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +13 lines, -1 line 0 comments Download
M ui/display/chromeos/display_configurator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +42 lines, -2 lines 0 comments Download
M ui/display/chromeos/display_configurator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +50 lines, -0 lines 0 comments Download
A ui/display/chromeos/display_snapshot_virtual.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +39 lines, -0 lines 0 comments Download
A ui/display/chromeos/display_snapshot_virtual.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +40 lines, -0 lines 0 comments Download
M ui/display/chromeos/display_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M ui/display/chromeos/display_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +6 lines, -0 lines 0 comments Download
M ui/display/display.gyp View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -0 lines 0 comments Download
M ui/display/types/display_constants.h View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 30 (8 generated)
robert.bradford
Hi folks, i'd love to hear your feedback on this feature. This is the (delayed) ...
6 years, 2 months ago (2014-10-09 15:51:19 UTC) #4
oshima
Hi, thank you for working on this. Could you please file a feature request so ...
6 years, 2 months ago (2014-10-09 17:26:43 UTC) #5
robert.bradford
On 2014/10/09 17:26:43, oshima wrote: > Hi, thank you for working on this. > > ...
6 years, 2 months ago (2014-10-14 16:07:36 UTC) #6
oshima
On 2014/10/14 16:07:36, robert.bradford wrote: > On 2014/10/09 17:26:43, oshima wrote: > > Hi, thank ...
6 years, 2 months ago (2014-10-14 16:59:44 UTC) #7
robert.bradford
On 2014/10/14 16:59:44, oshima wrote: > On 2014/10/14 16:07:36, robert.bradford wrote: > > On 2014/10/09 ...
6 years, 2 months ago (2014-10-20 10:43:28 UTC) #8
robert.bradford
This latest version has two major improvements over my last overhaul (which was to support ...
5 years, 11 months ago (2015-01-21 19:08:54 UTC) #9
achuithb
https://codereview.chromium.org/615133002/diff/220001/chrome/browser/media/desktop_media_list_ash.cc File chrome/browser/media/desktop_media_list_ash.cc (right): https://codereview.chromium.org/615133002/diff/220001/chrome/browser/media/desktop_media_list_ash.cc#newcode215 chrome/browser/media/desktop_media_list_ash.cc:215: // DisplayConfigurator only works when running on ChromeOS nit: ...
5 years, 10 months ago (2015-02-11 23:41:44 UTC) #11
robert.bradford
Thanks achuithb@ for your diligent review. I've addressed all the issues you highlighted and took ...
5 years, 10 months ago (2015-02-12 17:25:05 UTC) #12
achuithb
On 2015/02/12 17:25:05, robert.bradford wrote: > Thanks achuithb@ for your diligent review. I've addressed all ...
5 years, 10 months ago (2015-02-13 00:14:32 UTC) #13
achuithb
Adding some more potential reviewers.
5 years, 10 months ago (2015-02-23 22:27:23 UTC) #16
Daniel Erat
i'll take a look at ui/display/, but dnicoara@ should too.
5 years, 10 months ago (2015-02-23 22:41:16 UTC) #18
Daniel Erat
https://codereview.chromium.org/615133002/diff/260001/ui/display/chromeos/display_configurator.cc File ui/display/chromeos/display_configurator.cc (right): https://codereview.chromium.org/615133002/diff/260001/ui/display/chromeos/display_configurator.cc#newcode150 ui/display/chromeos/display_configurator.cc:150: display_state.display = new DisplaySnapshotVirtual( are you leaking this? DisplayState ...
5 years, 10 months ago (2015-02-23 23:14:54 UTC) #19
Sergey Ulanov
https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/desktop_capture_device_aura.cc File content/browser/media/capture/desktop_capture_device_aura.cc (right): https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/desktop_capture_device_aura.cc#newcode233 content/browser/media/capture/desktop_capture_device_aura.cc:233: bool DesktopVideoCaptureMachine::Start( Can the virtual-screen logic be moved out ...
5 years, 10 months ago (2015-02-23 23:16:12 UTC) #20
piman
https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/desktop_capture_device_aura.cc File content/browser/media/capture/desktop_capture_device_aura.cc (right): https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/desktop_capture_device_aura.cc#newcode37 content/browser/media/capture/desktop_capture_device_aura.cc:37: #include "ash/display/display_controller.h" content/ is not allowed to depend on ...
5 years, 10 months ago (2015-02-24 01:58:29 UTC) #21
dnicoara
I'll need to have another pass at it. I left a few comments for now. ...
5 years, 10 months ago (2015-02-24 16:27:06 UTC) #22
oshima
https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/DEPS File content/browser/media/capture/DEPS (right): https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/DEPS#newcode6 content/browser/media/capture/DEPS:6: "+ash/shell.h", content shouldn't depend on ash/ https://codereview.chromium.org/615133002/diff/260001/content/browser/media/capture/desktop_capture_device_aura.cc File content/browser/media/capture/desktop_capture_device_aura.cc ...
5 years, 10 months ago (2015-02-24 19:43:21 UTC) #23
robert.bradford
Thanks everyone for your reviews. I was out travelling this last week so wasn't able ...
5 years, 9 months ago (2015-03-03 19:58:01 UTC) #24
oshima
can you upload the updated patch? (the latest is still 3 weeks old)
5 years, 9 months ago (2015-03-11 22:45:33 UTC) #25
robert.bradford
Hi folks, it took me some time to work out how to remove the deps ...
5 years, 9 months ago (2015-03-12 17:48:41 UTC) #26
robert.bradford
Hi folks, it took me some time to work out how to remove the deps ...
5 years, 9 months ago (2015-03-12 17:48:42 UTC) #27
achuithb
Is this CL still being worked on?
5 years, 7 months ago (2015-05-11 19:51:29 UTC) #28
robert.bradford
4 years, 10 months ago (2016-01-28 15:46:45 UTC) #29
Virtual display control was landed in http://crrev.com/364332

Powered by Google App Engine
This is Rietveld 408576698