readium / readium-js-viewer

👁 ReadiumJS viewer: default web app for Readium.js library
BSD 3-Clause "New" or "Revised" License
550 stars 186 forks source link

Media overlays playback on Safari, page reloads and playback stops #659

Open CircularKen opened 6 years ago

CircularKen commented 6 years ago

This issue is a Bug

Expected Behaviour Readium is expected to play Media Overlays without stopping and without reloading page.

Observed behaviour When first attempting to invoke the media overlays playback after a browser refresh, the page reloads and playback stops.

Steps to reproduce Using Safari Version 11.0 (12604.1.38.1.7) on Mac OS 10.12.6 (16G29) In Safari, using the Readium control bar you get click 1, bars goes dark, page reloads bar stops, click 2, bar darkens and playback starts. And with the button on the page you get click 1, refresh, click 2, nothing, click 3 playback starts. PastedGraphic-2.png

In Chrome Version 61.0.3163.100 (Official Build) (64-bit) things are better. The overlays DO highlight as expected and although we still get the page reload the playback does continue so only requiring one click.

Product Readium cloud reader app - latest development build uploaded at https://readium.firebaseapp.com

Additional information There is a separate issue about overlays NOT highlighting that in Safari to see expected results, check the link using Chrome.

danielweck commented 6 years ago

The separate issue about Safari is in fact related to the browser engine itself, and can be reproduced outside of Readium when loading the HTML document on its own.

CircularKen commented 6 years ago

Confirmed. The separate issue about Safari is related to functionality that is missing in later versions of Safari so not a Readium issue. FYI Version 10.0.3 of Safari functions as expected.

danielweck commented 6 years ago

Thank you for reporting the issue about EPUB3 Media Overlays playback (i.e. unnecessary reloading of fixed-layout "pages" when transitioning from one to the next in a two-page spread). This is due to the fact that FXL "pages" are actually independent spine items, loaded in their respective iframe, on the left and right side of the two-page spread. This behaviour should indeed be corrected (to avoid the irritating content flash / flicker), but as it stands now the refresh is necessary due to some internal changes in the underlying document layout/rendering architecture. As per your bug report, there may in fact be an additional issue with respect to Media Overlays playback stopping instead of automatically continuing into the next "pages". To be investigated...