Design doc: http://go/local-screens-design-doc This in-browser MRP will provide local displays as sinks.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/15e909d60994f18701e110935ad9f79d9c38c561 commit 15e909d60994f18701e110935ad9f79d9c38c561 Author: Takumi Fujimoto <takumif@chromium.org> Date: Sat Nov 11 00:12:51 2017 [Media Router] Implement WiredDisplayMRP This CL implements the WiredDisplayMediaRouteProvider, which is responsible for making wired displays available as media sinks. As of this CL, WiredDisplayMRP creates a MediaRoute when a presentation starts but not the actual presentation window. LocalPresentationManager keeps track of displays with MR dialogs, and WiredDisplayMRP observes LocalPresentationManager to be notified when that information changes. In another CL, we will make MediaRouterDesktop own WiredDisplayMRP, like how it owns ExtensionProxyMRP. Bug: 777650 Change-Id: I0c882826a5e3c79bf58a2d9dd49a3e070ef2e861 Reviewed-on: https://chromium-review.googlesource.com/691150 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Derek Cheng <imcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#515754} [modify] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/app/media_router_strings.grdp [modify] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/BUILD.gn [modify] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/media_router_metrics.cc [add] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/mojo/mock_mojo_media_router.cc [add] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/mojo/mock_mojo_media_router.h [add] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/mojo/wired_display_media_route_provider.cc [add] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/mojo/wired_display_media_route_provider.h [add] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/browser/media/router/mojo/wired_display_media_route_provider_unittest.cc [modify] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/common/media_router/media_source_helper.h [modify] https://crrev.com/15e909d60994f18701e110935ad9f79d9c38c561/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/33d4187ee86092901ab25ce8ff0429fa371ea14d commit 33d4187ee86092901ab25ce8ff0429fa371ea14d Author: Takumi Fujimoto <takumif@chromium.org> Date: Tue Nov 14 22:36:36 2017 [Media Router] Add a feature flag to enable local screen Casting The feature is disabled by default. When enabled, WiredDisplayMediaRouteProvider gets registered with MediaRouter. Bug: 777650 Change-Id: Id5f6070adb8b0493bf1e48a4a5cf818140fa34cd Reviewed-on: https://chromium-review.googlesource.com/767045 Reviewed-by: Derek Cheng <imcheng@chromium.org> Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Cr-Commit-Position: refs/heads/master@{#516470} [modify] https://crrev.com/33d4187ee86092901ab25ce8ff0429fa371ea14d/chrome/browser/media/router/mojo/media_router_desktop.cc [modify] https://crrev.com/33d4187ee86092901ab25ce8ff0429fa371ea14d/chrome/browser/media/router/mojo/media_router_desktop.h [modify] https://crrev.com/33d4187ee86092901ab25ce8ff0429fa371ea14d/chrome/common/chrome_features.cc [modify] https://crrev.com/33d4187ee86092901ab25ce8ff0429fa371ea14d/chrome/common/chrome_features.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52dda1185f5f801b7f16bc79be6696b297cbf3d4 commit 52dda1185f5f801b7f16bc79be6696b297cbf3d4 Author: Takumi Fujimoto <takumif@chromium.org> Date: Tue Dec 05 00:33:00 2017 [Media Router] Better sink availability tracking - When sink availability changes for an MRP, start/stop observing sinks only for that MRP - Make WiredDisplayMRP report sink availability updates Bug: 789277 , 777650 Change-Id: I3d1a087ca39a4830403d6d2f0f00bf1411388f33 Reviewed-on: https://chromium-review.googlesource.com/794106 Reviewed-by: Derek Cheng <imcheng@chromium.org> Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Cr-Commit-Position: refs/heads/master@{#521550} [modify] https://crrev.com/52dda1185f5f801b7f16bc79be6696b297cbf3d4/chrome/browser/media/router/mojo/media_router_mojo_impl.cc [modify] https://crrev.com/52dda1185f5f801b7f16bc79be6696b297cbf3d4/chrome/browser/media/router/mojo/media_router_mojo_impl.h [modify] https://crrev.com/52dda1185f5f801b7f16bc79be6696b297cbf3d4/chrome/browser/media/router/mojo/wired_display_media_route_provider.cc [modify] https://crrev.com/52dda1185f5f801b7f16bc79be6696b297cbf3d4/chrome/browser/media/router/mojo/wired_display_media_route_provider.h [modify] https://crrev.com/52dda1185f5f801b7f16bc79be6696b297cbf3d4/chrome/browser/media/router/mojo/wired_display_media_route_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3 commit a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3 Author: Thomas Anderson <thomasanderson@chromium.org> Date: Tue Dec 05 01:03:06 2017 Revert "[Media Router] Better sink availability tracking" This reverts commit 52dda1185f5f801b7f16bc79be6696b297cbf3d4. Reason for revert: Breaks Linux x64 build: https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium%2FLinux_x64%2F54249%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout Original change's description: > [Media Router] Better sink availability tracking > > - When sink availability changes for an MRP, start/stop observing sinks only for that MRP > - Make WiredDisplayMRP report sink availability updates > > Bug: 789277 , 777650 > Change-Id: I3d1a087ca39a4830403d6d2f0f00bf1411388f33 > Reviewed-on: https://chromium-review.googlesource.com/794106 > Reviewed-by: Derek Cheng <imcheng@chromium.org> > Commit-Queue: Takumi Fujimoto <takumif@chromium.org> > Cr-Commit-Position: refs/heads/master@{#521550} TBR=imcheng@chromium.org,takumif@chromium.org Change-Id: Id4d13f0b2097ccfe398b05ce239d21c5d3c2b626 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 789277 , 777650 Reviewed-on: https://chromium-review.googlesource.com/807588 Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#521561} [modify] https://crrev.com/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3/chrome/browser/media/router/mojo/media_router_mojo_impl.cc [modify] https://crrev.com/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3/chrome/browser/media/router/mojo/media_router_mojo_impl.h [modify] https://crrev.com/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3/chrome/browser/media/router/mojo/wired_display_media_route_provider.cc [modify] https://crrev.com/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3/chrome/browser/media/router/mojo/wired_display_media_route_provider.h [modify] https://crrev.com/a5e10914c8dda2b007a84d9fa12c0c47d6bc8bf3/chrome/browser/media/router/mojo/wired_display_media_route_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f517e020a1a30c6b192b4556f421f1203c7b61b9 commit f517e020a1a30c6b192b4556f421f1203c7b61b9 Author: Ojan Vafai <ojan@chromium.org> Date: Tue Dec 05 01:06:13 2017 Revert "[Media Router] Better sink availability tracking" This reverts commit 52dda1185f5f801b7f16bc79be6696b297cbf3d4. Reason for revert: Broke compile on linux. https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium%2FLinux_x64%2F54249%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout https://uberchromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/54249 https://uberchromegw.corp.google.com/i/chromium.chromiumos/builders/Linux%20ChromiumOS%20Full/builds/80407 https://uberchromegw.corp.google.com/i/chromium.gpu/builders/GPU%20Mac%20Builder/builds/108044 Original change's description: > [Media Router] Better sink availability tracking > > - When sink availability changes for an MRP, start/stop observing sinks only for that MRP > - Make WiredDisplayMRP report sink availability updates > > Bug: 789277 , 777650 > Change-Id: I3d1a087ca39a4830403d6d2f0f00bf1411388f33 > Reviewed-on: https://chromium-review.googlesource.com/794106 > Reviewed-by: Derek Cheng <imcheng@chromium.org> > Commit-Queue: Takumi Fujimoto <takumif@chromium.org> > Cr-Commit-Position: refs/heads/master@{#521550} TBR=imcheng@chromium.org,takumif@chromium.org Change-Id: I437f1c196351de49b83941a905a17a7add698abc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 789277 , 777650 Reviewed-on: https://chromium-review.googlesource.com/807589 Reviewed-by: Ojan Vafai <ojan@chromium.org> Commit-Queue: Ojan Vafai <ojan@chromium.org> Cr-Commit-Position: refs/heads/master@{#521564}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085 commit 8f552870a47fe6a86273cb0ba4d77b6f6ad5c085 Author: Takumi Fujimoto <takumif@chromium.org> Date: Tue Dec 05 22:21:45 2017 Reland "[Media Router] Better sink availability tracking" This is a reland of 52dda1185f5f801b7f16bc79be6696b297cbf3d4 Original change's description: > [Media Router] Better sink availability tracking > > - When sink availability changes for an MRP, start/stop observing sinks only for that MRP > - Make WiredDisplayMRP report sink availability updates > > Bug: 789277 , 777650 > Change-Id: I3d1a087ca39a4830403d6d2f0f00bf1411388f33 > Reviewed-on: https://chromium-review.googlesource.com/794106 > Reviewed-by: Derek Cheng <imcheng@chromium.org> > Commit-Queue: Takumi Fujimoto <takumif@chromium.org> > Cr-Commit-Position: refs/heads/master@{#521550} Bug: 789277 , 777650 Change-Id: I0a2edc4af121fa675548f9d545bb6048b05e2f13 Reviewed-on: https://chromium-review.googlesource.com/809333 Reviewed-by: Derek Cheng <imcheng@chromium.org> Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Cr-Commit-Position: refs/heads/master@{#521858} [modify] https://crrev.com/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085/chrome/browser/media/router/mojo/media_router_mojo_impl.cc [modify] https://crrev.com/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085/chrome/browser/media/router/mojo/media_router_mojo_impl.h [modify] https://crrev.com/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085/chrome/browser/media/router/mojo/wired_display_media_route_provider.cc [modify] https://crrev.com/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085/chrome/browser/media/router/mojo/wired_display_media_route_provider.h [modify] https://crrev.com/8f552870a47fe6a86273cb0ba4d77b6f6ad5c085/chrome/browser/media/router/mojo/wired_display_media_route_provider_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6ae268a18455e271b973b93d9799afe053e433b commit f6ae268a18455e271b973b93d9799afe053e433b Author: Takumi Fujimoto <takumif@chromium.org> Date: Sat Jan 06 08:52:24 2018 [Local Screens] Create presentation windows in wired display MRP This CL makes the wired display MRP create a presentation receiver window implemented in crrev.com/c/742122 whenever a media route is requested. For each presentation, the MRP creates a MediaRoute, PresentationReceiverWindowController, and WebContentsTitleObserver, together contained in a Presentation struct. WebContentsTitleObserver observes the title of presentation WebContents and updates route description with it. Bug: 777650 Change-Id: I4f3f9500e75619ea4b54bd111742edd3396635de Reviewed-on: https://chromium-review.googlesource.com/824911 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Derek Cheng <imcheng@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#527516} [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/BUILD.gn [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.h [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider_unittest.cc [add] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_presentation_receiver.h [add] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_presentation_receiver_factory.cc [add] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/media/router/providers/wired_display/wired_display_presentation_receiver_factory.h [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h [modify] https://crrev.com/f6ae268a18455e271b973b93d9799afe053e433b/chrome/browser/ui/media_router/presentation_receiver_window_controller_browsertest.cc
Comment 1 by mfo...@chromium.org
, Oct 26 2017