This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 26584 - "fully exit fullscreen" is not invoked for normal navigation
Summary: "fully exit fullscreen" is not invoked for normal navigation
Status: RESOLVED MOVED
Alias: None
Product: WHATWG
Classification: Unclassified
Component: HTML (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: Unsorted
Assignee: Ian 'Hixie' Hickson
QA Contact: contributor
URL: http://www.whatwg.org/specs/web-apps/...
Whiteboard: blocked on dependencies
Keywords:
Depends on: 26813
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-14 13:47 UTC by contributor
Modified: 2015-10-06 08:00 UTC (History)
5 users (show)

See Also:


Attachments

Description contributor 2014-08-14 13:47:03 UTC
Specification: http://www.whatwg.org/specs/web-apps/current-work/
Multipage: http://www.whatwg.org/C#the-history-interface
Complete: http://www.whatwg.org/c#the-history-interface
Referrer: 

Comment:
"fully exit fullscreen" is not invoked for normal navigation

Posted from: 185.26.182.28
User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.35 Safari/537.36 OPR/24.0.1558.21 (Edition Developer)
Comment 1 Philip Jägenstedt 2014-08-14 13:49:19 UTC
"fully exit fullscreen" is only invoked by "traverse the history by a delta", which is used for go(), back() and forward().

The fullscreen spec claims that "HTML invokes the fully exit fullscreen algorithm for navigation." which isn't entirely accurate.

What's the point of exiting fullscreen in these cases but not e.g. when the user followsa link in fullscreen?
Comment 3 Philip Jägenstedt 2014-08-14 13:50:57 UTC
annevk and roc probably have opinions.
Comment 4 Robert O'Callahan (Mozilla) 2014-08-14 22:26:47 UTC
I don't remember trying to distinguish different navigation methods. I thought we should exit fullscreen on all toplevel navigations.

Basically I'm worried that if you go fullscreen and we show a message about domain A being fullscreen, it's easy to navigate that browsing context to domain B without A necessarily blessing that navigation. For example if you click on an ad. Also I think if A was window.opened by B, then B can later navigate that window to another B page.
Comment 5 Philip Jägenstedt 2014-08-14 22:42:04 UTC
(In reply to Robert O'Callahan (Mozilla) from comment #4)
> I don't remember trying to distinguish different navigation methods. I
> thought we should exit fullscreen on all toplevel navigations.

Is that top-level only? Should navigating an iframe (fully) exit fullscreen? I don't think the HTML spec makes the distinction, but I'm not very familiar with navigation.

How about when a popup is opened while in fullscreen? Chromium will exit fullscreen in that case:
https://code.google.com/p/chromium/issues/detail?id=304547

> Basically I'm worried that if you go fullscreen and we show a message about
> domain A being fullscreen, it's easy to navigate that browsing context to
> domain B without A necessarily blessing that navigation. For example if you
> click on an ad. Also I think if A was window.opened by B, then B can later
> navigate that window to another B page.

Do you (want to) distinguish between same-origin and cross-origin navigation?
Comment 6 Robert O'Callahan (Mozilla) 2014-08-14 23:54:01 UTC
(In reply to Philip Jägenstedt from comment #5)
> (In reply to Robert O'Callahan (Mozilla) from comment #4)
> > I don't remember trying to distinguish different navigation methods. I
> > thought we should exit fullscreen on all toplevel navigations.
> 
> Is that top-level only? Should navigating an iframe (fully) exit fullscreen?

I don't think navigating an iframe should exit fullscreen, because the domain the user is trusting has not changed.

> How about when a popup is opened while in fullscreen? Chromium will exit
> fullscreen in that case:
> https://code.google.com/p/chromium/issues/detail?id=304547

No opinion on that.

> > Basically I'm worried that if you go fullscreen and we show a message about
> > domain A being fullscreen, it's easy to navigate that browsing context to
> > domain B without A necessarily blessing that navigation. For example if you
> > click on an ad. Also I think if A was window.opened by B, then B can later
> > navigate that window to another B page.
> 
> Do you (want to) distinguish between same-origin and cross-origin navigation?

No opinion on that either.
Comment 7 Philip Jägenstedt 2014-08-15 08:14:39 UTC
It sounds like at a minimum, cross-origin top-level navigation should fully exit fullscreen, regardless of how that navigation happens. That doesn't match the spec.
Comment 8 Ian 'Hixie' Hickson 2014-08-18 20:50:01 UTC
Weird. Why is this in "traverse history by a delta" and not just "traverse"?
Comment 9 Philip Jägenstedt 2014-08-18 21:18:14 UTC
Weird indeed. It's been like that since the beginning:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18840
http://html5.org/tools/web-apps-tracker?from=7563&to=7564

If you don't know why, I don't think anybody does :)
Comment 10 Ian 'Hixie' Hickson 2014-09-15 23:25:08 UTC
Added XXX26584 markers to the spec while I wait for bug 26813. Basically I just need to add something to "update the session history with the new page" and to "discard a  Document", I think, that is similar to what's already in the spec. Either that, or move the text from the current place to the "traverse" algorithm and the "discard" algorithm, not quite sure yet.
Comment 11 contributor 2014-09-15 23:32:24 UTC
Checked in as WHATWG revision r8774.
Check-in comment: Add some internal editorial notes for forthcoming fullscreen edits
https://html5.org/tools/web-apps-tracker?from=8773&to=8774