Comment 5 and comment 9 seem to draw different conclusions. > Return "visible" if: Any of the doc's viewport contents are observable to the user The way I read this, a part of the doc's viewport's *contents* is clearly observable through PiP. Therefore, treating a tab with active PiP as in the foreground for the duration of the PiP seems not just like a reasonable argument, but perhaps the most web compatible option, since Firefox's PiP is otherwise totally UA driven, as it would otherwise be hard to fault a web page for pausing when it learns it's not visible. This seems like the point of the visibility API. > How does this work in other browsers? Do they change visibilitychange handling when there is an active PIP? AFAIK other browsers do not offer PiP. It looks like Chrome has a [plug-in](https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg). I haven't played with it or checked how it deals with visibilitychange.
Bug 1598654 Comment 11 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Comment 5 and comment 9 seem to draw different conclusions. > Return "visible" if: Any of the doc's viewport contents are observable to the user The way I read this, a part of the doc's viewport's *contents* is clearly observable through PiP. Therefore, treating a tab with active PiP as in the foreground for the duration of the PiP seems not just like a reasonable argument, but perhaps the most web compatible option, since Firefox's PiP is otherwise totally UA driven, and it would otherwise be hard to fault a web page for pausing when it learns it's not visible. This seems like the point of the visibility API. > How does this work in other browsers? Do they change visibilitychange handling when there is an active PIP? AFAIK other browsers do not offer PiP. It looks like Chrome has a [plug-in](https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg). I haven't played with it or checked how it deals with visibilitychange.
Comment 5 and comment 9 seem to draw different conclusions. > Return "visible" if: Any of the doc's viewport contents are observable to the user The way I read this, a part of the doc's viewport's *contents* is clearly observable through PiP. Therefore, treating a tab with active PiP as in the foreground for the duration of the PiP seems not just like a reasonable argument, but perhaps the most web compatible option, since Firefox's PiP is otherwise totally UA driven, and it would otherwise be hard to fault a web page for pausing when it learns it's no longer visible. Detecting situations like this seem like the point of the visibility API. > How does this work in other browsers? Do they change visibilitychange handling when there is an active PIP? AFAIK other browsers do not offer PiP. It looks like Chrome has a [plug-in](https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg). I haven't played with it or checked how it deals with visibilitychange.
Comment 5 and comment 9 seem to draw different conclusions. > Return "visible" if: Any of the doc's viewport contents are observable to the user The way I read this, a part of the doc's viewport's *contents* is clearly observable through PiP. Therefore, treating a tab with active PiP as in the foreground for the duration of the PiP seems not just like a reasonable argument, but perhaps the most web compatible option, since Firefox's PiP is otherwise totally UA driven, and it would otherwise be hard to fault a web page for pausing when it learns it's no longer visible. Detecting situations like this seems like the point of the visibility API. > How does this work in other browsers? Do they change visibilitychange handling when there is an active PIP? AFAIK other browsers do not offer PiP. It looks like Chrome has a [plug-in](https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg). I haven't played with it or checked how it deals with visibilitychange.