New issue
Advanced search Search tips

Issue 777650 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocked on:
issue 761493

Blocking:
issue 758005



Sign in to add a comment

Implement MediaRouteProvider for wired displays

Project Member Reported by taku...@chromium.org, Oct 24 2017

Issue description

Design doc: http://go/local-screens-design-doc

This in-browser MRP will provide local displays as sinks.
 

Comment 1 by mfo...@chromium.org, Oct 26 2017

Labels: M-65
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 11 2017

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

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 14 2017

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

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 5 2017

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

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 5 2017

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}

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 5 2017

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

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 6 2018

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

Labels: Hotlist-LocalScreenCasting
Status: Fixed (was: Assigned)

Sign in to add a comment