-
Robert Knight authored
When a PDF page transitions from a rendered to non-rendered state the text layer element is removed and existing highlights in that layer briefly become disconnected from the document. As a result they have an empty/zero client rect as returned by `element.getBoundingClientRect()`. This caused the bucket-building logic to think that the anchor had moved to the top of the screen as the `top` and `bottom` coordinates of the anchor box became zero. This could lead to anchors which should be in the "below screen" bucket briefly jumping to the "above screen" bucket. Once re-anchoring completes and the highlight is anchored into a placeholder element for the non-rendered page, its anchor box becomes non-empty again and the anchor "jumps back" to the "below screen" box. This commit adds logic to ignore any highlights which have zero height, including highlight elements that are disconnected from the document.
e1eaca4a