Chromium Code Reviews| Index: chrome/browser/media/router/media_source_helper.cc |
| diff --git a/chrome/browser/media/router/media_source_helper.cc b/chrome/browser/media/router/media_source_helper.cc |
| index 2365cdd9caa0a19eab37a22a437605b513bf66fe..7c618b98484f291892191195998c60b5550a704d 100644 |
| --- a/chrome/browser/media/router/media_source_helper.cc |
| +++ b/chrome/browser/media/router/media_source_helper.cc |
| @@ -22,7 +22,8 @@ constexpr char kTabMediaUrnFormat[] = "urn:x-org.chromium.media:source:tab:%d"; |
| constexpr char kDesktopMediaUrn[] = "urn:x-org.chromium.media:source:desktop"; |
| constexpr char kTabRemotingUrnFormat[] = |
| "urn:x-org.chromium.media:source:tab_content_remoting:%d"; |
| - |
| +constexpr char kCastPresentationUrlDomain[] = "google.com"; |
| +constexpr char kCastPresentationUrlPath[] = "/cast"; |
| } // namespace |
| MediaSource MediaSourceForTab(int tab_id) { |
| @@ -59,6 +60,17 @@ bool IsMirroringMediaSource(const MediaSource& source) { |
| IsTabMirroringMediaSource(source); |
| } |
| +bool CanConnectToMediaSource(const MediaSource& source) { |
| + // compare host, port, scheme, and path prefix for source.url() |
| + if (!source.url().SchemeIs(url::kHttpsScheme) || |
| + !source.url().DomainIs(kCastPresentationUrlDomain) || |
| + (!source.url().has_path() || |
| + source.url().path() != kCastPresentationUrlPath)) |
| + return false; |
| + |
| + return true; |
|
takumif
2016/12/06 21:00:07
Nit: Isn't this equivalent to
return source.url()
|
| +} |
| + |
| int TabIdFromMediaSource(const MediaSource& source) { |
| int tab_id; |
| if (sscanf(source.id().c_str(), kTabMediaUrnFormat, &tab_id) == 1) |