-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Presentations from within nested browsing contexts #79
Comments
The proposal by @mfoltzgoogle is aligned with the model employed by the Fullscreen API [1]. It is a good idea to reuse a model that is in use unless there are issues with it. Personally, I'm not aware of any, but I haven't deep dived into the Fullscreen API. To summarize the proposal (assuming I got it right ;-)):
Questions:
Currently the spec notes in the 7.1 Starting a presentation session [3]:
I think that for nested content we should in addition require that the top-level browsing context has explicitly opted in to allow WDYT? (From the spec organization perspective, this requires us to patch the HTML spec slightly, but we can cross that bridge when we get there.) [1] https://fullscreen.spec.whatwg.org/#model |
What about using a single attribute
|
Reply to @anssiko:
Yes, that is exactly what I had in mind. The only detail is what to do when more than one
For For To mitigate any confusion, we could require that the
Sounds good, after we decide on the attribute vs. allow popups conditions for allowing [1] https://html.spec.whatwg.org/multipage/browsers.html#allowed-to-show-a-popup |
Reply to @louaybassbouss: The concept of having the parent document restrict the presentation URL for an It seems like the |
ACTION: @hongkicha to update use cases to incorporate nested browser context issue [recorded in http://www.w3.org/2015/05/20-webscreens-minutes.html#action04] ACTION: @mfoltzgoogle to flesh out behaviour of allow presentation attribute [recorded in http://www.w3.org/2015/05/20-webscreens-minutes.html#action05] |
[Edit: PROPOSED RESOLUTION reverted, for details, see the follow up discussion.] PROPOSED RESOLUTION: define a new See relevant discussion during Berlin F2F: http://www.w3.org/2015/05/20-webscreens-minutes.html#item04 |
Unfortunately I have to object to this resolution as stated after further internal discussions within Google. Whitelisting the Presentation API to As a concrete example, consider the millions of YouTube videos embedded in blog posts. They use markup like the following:
(I've shortened the I checked two other popular video sharing sites - dailymotion.com and vimeo.com - and they will have the same issue as they provide I propose keeping this open and soliciting further proposals that allow existing embedded content to be presented, but perhaps limit access to some functionality, like receiving browser initiated presentation events. |
Given the new information from real world usage (thanks @mfoltzgoogle), I suggest we keep this issue open and explore alternative techniques that would maintain backwards compatibility with existing web content without compromising the user's security and privacy. I'll start with a couple of proposals (not necessarily good ones) to restart the discussion:
|
This seems like an appropriate topic for the F2F meeting in October. |
See feedback from the TAG on reusing the Also: https://github.com/w3ctag/spec-reviews/blob/master/2015/presentation-api.md |
See relevant discussion at TPAC F2F: RESOLUTION: For #79, for security aspects idea is to improve on existing mitigation mechanism without new iframe attribute and get back to TAG and WebAppSec, for defaultRequest the idea is to postpone resolution while implementers experiment with different scenarios |
Update: After discussion within Chrome and also with a discussion with @sicking, we're proposing the following solution:
Should we bring this proposal back to TAG/WebAppSec and/or make the attribute proposal as a "patch" to HTML5 in the Presentation API spec? [1] https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sandbox |
One thing we can do is to encourage UAs to specify the origin of the page calling .start() in the picker UI. Especially in case that origin doesn't match the top-level origin of the tab. Seems like sticking something to that effect in the security section could be helpful. |
...which is exactly what you said in the previous comment :) |
Hearing no concerns, @mfoltzgoogle please proceed as suggested and update the spec, considering also @sicking's feedback re the security section. In this first iteration we should be fine monkey-patching HTML spec in the Presentation API. However, should add an inline issue/note that we should upstream the patch to HTML if no concerns from TAG/WebAppSec to be looped in after the changes have landed. |
[Carved out into its own issue from https://github.com//issues/26#issuecomment-91708418]
@mfoltzgoogle says:
@avayvod In Chrome have been discussing how browser-initiated
presentation interacts with multiple <iframe>s embedded in the
controlling page. For now, we are only enabling browser-initiated
presentation from the default presentation URL set in the top level
document. However, there is a use case for allowing it from an
embedded <iframe> for sites using a third party player to show a
single piece of video (or other) content.
We have discussed possible solutions, including:
default presentation URL. The problem here is that the
browser-initiated presentation session would go to the parent
document, not the <iframe> that has the presentation control logic for
the video player.
lead to surprising behavior for the user, since the user is expecting
to present content related to the parent document, which cannot
directly control the behavior of the <iframe>.
URLs in the document. This complicates the UX for starting a
presentation and it will be difficult for the user to make a
meaningful choice (who provides the URL is an implementation detail of
the webapp).
Instead we are considering adding a capability to the <iframe>'s
sandbox attribute, "allow-default-presentation", that would allow the
parent page to designate up to one iframe per document as the source
of the default presentation URL for browser initiated presentation.
This attribute would be respected only for <iframes> one level deep.
The text was updated successfully, but these errors were encountered: