-
Robert Knight authored
Introduce the concept of "persistent" frames in the sidebar. This is a flag which can be set on a `Frame` in the sidebar's store to prevent annotations from being unloaded when the associated guest unloads. This flag is set in response to a hint provided by the `Guest` in its `documentInfoChanged` message. The guest in turn gets this hint via `Integration.persistFrame`, which returns true for VitalSource content frames. Marking VitalSource content frames as persistent prevents the book's annotations from being unloaded after a chapter navigation, when the old guest goes away, and then the same set of annotations immediately being re-fetched from the server when the new guest connects. This reload of annotations looked ugly but also lost the user's scroll position in the sidebar. With this change the sidebar retains the annotations during a chapter navigation and just re-sends the appropriate ones to the new guest when it connects.
8c80e65a