[Media Router] PresentationRequest.start() doesn't work in an <iframe> created by script |
||||
Issue descriptionVersion: 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.
,
Oct 21 2016
,
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
,
Nov 22 2016
,
Feb 13 2017
Tested on 56.0.2924.87 (Mac) with the URL in #1 and this is fixed. |
||||
►
Sign in to add a comment |
||||
Comment 1 by mfo...@chromium.org
, Oct 21 2016