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

Issue 658409 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

[Media Router] PresentationRequest.start() doesn't work in an <iframe> created by script

Project Member Reported by mfo...@chromium.org, Oct 21 2016

Issue description

Version: 54.0.2840.59
OS: Linux (probably all)

What steps will reproduce the problem?
(1) Navigate to https://storage.googleapis.com/ejf_caf_sender/dynamic-iframe/index.html
(2) Click the Cast button and choose a Cast device

What is the expected output?

Cast app starts and presumably plays Blender video

What do you see instead?

Nothing happens

---

This app generates an <iframe> via script and calls the PresentationRequest.start() within it.  The <iframe> is not sandboxed so this should work.

This could happen because:

- We're not getting the origin correctly from the frame.
- We're passing the origin as a GURL instead of a url::Origin, and GURL.is_valid() is different than Origin.is_valid().
- The origin is empty or invalid.  In this case we'll have to coerce it to empty or have some fallback behavior.




 

Comment 1 by mfo...@chromium.org, Oct 21 2016

Cc: zivh@google.com
+zivh

Comment 2 by mfo...@chromium.org, Oct 21 2016

Status: Started (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 24 2016

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

commit e0c208309294e9c5132e713e8b04872b90c184a5
Author: mfoltz <mfoltz@chromium.org>
Date: Mon Oct 24 20:00:19 2016

[Media Router] Use origin instead of URL for frame.

This CL uses the last committed origin of a frame making a presentation request,
instead of the full URL.  Frames created in script have an empty last committed URL.

Note the following:

- Only the origin is used from the frame URL presentation request (that is why
  this change is safe).  PresentationRequest should be converted to use
  url::Origin instead of GURL to avoid unnecessary conversions.  Tracked in
   crbug.com/632623 .

- Is it possible for a frames to not have a last committed origin?  If so, the
  strict checking for valid, non-empty origins will need to be relaxed.

- TODO: Add functional tests in a separate patch.

BUG= 658409 

Review-Url: https://codereview.chromium.org/2433283005
Cr-Commit-Position: refs/heads/master@{#427128}

[modify] https://crrev.com/e0c208309294e9c5132e713e8b04872b90c184a5/chrome/browser/media/router/presentation_request.h
[modify] https://crrev.com/e0c208309294e9c5132e713e8b04872b90c184a5/chrome/browser/media/router/presentation_service_delegate_impl.cc
[modify] https://crrev.com/e0c208309294e9c5132e713e8b04872b90c184a5/chrome/browser/ui/webui/media_router/media_router_ui.cc

Owner: mfo...@chromium.org

Comment 5 by mfo...@chromium.org, Feb 13 2017

Status: Verified (was: Started)
Tested on 56.0.2924.87 (Mac) with the URL in #1 and this is fixed.

Sign in to add a comment