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

Issue 808720 link

Starred by 24 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocked on:
issue 823897
issue 816628

Blocking:
issue 869214



Sign in to add a comment

[DIAL] implement in-browser DIAL MRP

Project Member Reported by zhaobin@chromium.org, Feb 3 2018

Issue description

Need an in-browser DIAL MRP for DIAL sink query.

 
Blocking: 779892
Labels: -Pri-3 M-67 Pri-2
Status: Assigned (was: Untriaged)
Cc: zhaobin@chromium.org
 Issue 810156  has been merged into this issue.

Comment 4 by mfo...@chromium.org, Feb 28 2018

Blockedon: 816628

Comment 5 by amp@chromium.org, Mar 26 2018

Owner: imch...@chromium.org
Note from internal bug regarding device description fetching: If we can't get device description from a DIAL device due to a permanent error (e.g., 404, invalid) then we should cache that result similar to how we cache device descriptions, so that we don't keep re-querying and failing.
Cc: imch...@chromium.org
 Issue 816628  has been merged into this issue.
Labels: -Type-Bug -M-67 M-68 Type-Feature
Status: Started (was: Assigned)
More notes from deduped bug:

Some points of discussion for the implementation and TODOs beyond the initial implementation:
- Simplify the use of route ID to simply the presentation ID
- Support timeouts for app launch / stop requests
- Metrics
- Investigate the use of PresentationConnection so that the DialMediaRouteProvider can communicate directly with the SDK client in the web page. This is a larger change that affects other MRPs that use the Presentation API.
Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
Blockedon: 823897
Also similar to bug 809249, having batch support in data_decoder service would be good for parsing of Cast messages (for custom DIAL launch).
This is feature complete per  bug 816628 , but points above still need to be addressed:

- Simplify the use of route ID to simply the presentation ID
- Metrics
- Use of PresentationConnection
- Use of data_decoder service to parse Cast SDK messages
@imcheng: Are these items tracked in separate issues?  Can they be made blockers of this issue?
Labels: -M-68 M-69
Components: -Internals>Cast Internals>Cast>Providers
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 13

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

commit 10d68ee17b0c371d08aa3d893bdea11f13e52f44
Author: Derek Cheng <imcheng@chromium.org>
Date: Fri Jul 13 02:35:48 2018

[DIAL MRP] Update routes when launch app fails.

To ensure MediaRouter's route list is updated when a DIAL launch app
fails, we will need to invoke erase the route from the list of records
before notifying DialMediaRouteProvider of the route list update.

Bug:  808720 
Change-Id: I65c925dc74a57a1c2d80dc1366f8be3ccbf40ce5
Reviewed-on: https://chromium-review.googlesource.com/1134867
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574821}
[modify] https://crrev.com/10d68ee17b0c371d08aa3d893bdea11f13e52f44/chrome/browser/media/router/providers/dial/dial_activity_manager.cc

Cc: -imch...@chromium.org -zhaobin@chromium.org
Labels: -M-69 M-70
Re c#12: I consider the following blocking:

- Metrics
- Use of data_decoder service to parse Cast SDK messages

The following are not blocking but are nice to have:

- Simplify the use of route ID to simply the presentation ID
- Use of PresentationConnection

I will use this bug to track the implementation of these items.
Project Member

Comment 17 by bugdroid1@chromium.org, Jul 27

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

commit a5070fe9bf76225d025d14aaec1c862736e153b2
Author: Derek Cheng <imcheng@chromium.org>
Date: Fri Jul 27 22:31:11 2018

[DIAL MRP] Use data_decoder to parse custom DIAL launch messages from
the Cast SDK.

This patch also changes the XML parsing done by DIAL discovery to use
the same batching ID so that the data_decoder service instance will be
shared with the MRP.


Bug:  808720 
Change-Id: Ieed0aa79bfb35874d5bb68fc35690baeae54f561
Reviewed-on: https://chromium-review.googlesource.com/1147107
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578834}
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/BUILD.gn
[add] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/data_decoder_util.cc
[add] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/data_decoder_util.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/device_description_service.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/device_description_service.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_media_sink_service.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl_unittest.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_app_info_parser.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_app_info_parser.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_app_info_parser_unittest.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/discovery/dial/safe_dial_device_description_parser_unittest.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/mojo/media_router_desktop.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_internal_message_util.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_internal_message_util.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_internal_message_util_unittest.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_media_route_provider.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_media_route_provider.h
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/providers/dial/dial_media_route_provider_unittest.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/test/test_helper.cc
[modify] https://crrev.com/a5070fe9bf76225d025d14aaec1c862736e153b2/chrome/browser/media/router/test/test_helper.h

Blocking: -779892 869214
Project Member

Comment 19 by bugdroid1@chromium.org, Jul 31

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

commit a1222f2c291d48aa7b83d4a1db41a51a05fa1159
Author: Derek Cheng <imcheng@chromium.org>
Date: Tue Jul 31 17:15:30 2018

[DIAL MRP] Use per-profile token to hash receiver IDs.

The token is required to prevent fingerprinting of receiver IDs across
profiles. It was introduced for Receiver objects sent by via Cast SDK
and is used by Cast MRP in a previous patch. This patch adds the use
of token to DIAL MRP as well.

Bug:  808720 
Change-Id: I73bcad3ec361a3b48b0e97850ab4370fdd710418
Reviewed-on: https://chromium-review.googlesource.com/1155799
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579446}
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/mojo/media_router_desktop.cc
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_internal_message_util.cc
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_internal_message_util.h
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_internal_message_util_unittest.cc
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_media_route_provider.cc
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_media_route_provider.h
[modify] https://crrev.com/a1222f2c291d48aa7b83d4a1db41a51a05fa1159/chrome/browser/media/router/providers/dial/dial_media_route_provider_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Aug 1

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

commit ecc1a2e07fb8b17b2c73f8c63952ebf91c49e276
Author: Derek Cheng <imcheng@chromium.org>
Date: Wed Aug 01 19:20:32 2018

[DIAL] Invoke DiscoverNow() on user gesture.

This helps increasing discovery reliability by refreshing the list of
DIAL devices and obtaining the latest list on user gesture.

This patch also shifts where |latest_sinks_| is cleared in the
discovery code. This is to allow RemoveSink() (called from Cast
discovery code) and the subsequent triggering of the timer to be handled
correctly after a round of discovery has ended.

Bug:  808720 
Change-Id: Ib109e6ac8081b99001a76058ff51bd424a07080e
Reviewed-on: https://chromium-review.googlesource.com/1157000
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579891}
[modify] https://crrev.com/ecc1a2e07fb8b17b2c73f8c63952ebf91c49e276/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc

Cc: imch...@chromium.org mfo...@chromium.org
 Issue 687375  has been merged into this issue.
Project Member

Comment 22 by bugdroid1@chromium.org, Aug 3

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

commit 89e955a5b9e691a5031b351ef151816878eca737
Author: Derek Cheng <imcheng@chromium.org>
Date: Fri Aug 03 17:02:01 2018

[DIAL MRP] Add a few key metrics.

MediaRouter.Dial.CreateRoute - records result of a CreateRoute call.
MediaRouter.Dial.TerminateRoute - similarly for a TerminateRoute call.
MediaRouter.Dial.ParseMessage - records result of parsing a message
coming from the Cast SDK.
MediaRouter.Dial.FetchAppInfo - records reuslt of a app info request.
Note we already have metrics for device description.

Bug:  808720 , 798861 
Change-Id: Ic48eba338298e7086fcab290f24ab490e5944ab3
Reviewed-on: https://chromium-review.googlesource.com/1153648
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580575}
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/BUILD.gn
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/media_router_metrics.cc
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/media_router_metrics.h
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/providers/dial/dial_media_route_provider.cc
[add] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/providers/dial/dial_media_route_provider_metrics.cc
[add] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/chrome/browser/media/router/providers/dial/dial_media_route_provider_metrics.h
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/89e955a5b9e691a5031b351ef151816878eca737/tools/metrics/histograms/histograms.xml

Labels: -M-70 Target-70
Status: Fixed (was: Started)

Sign in to add a comment