• Robert Knight's avatar
    Normalize multi-range selections to a single range in Firefox · 6eb68bb6
    Robert Knight authored
    There are situations where Firefox creates a selection with multiple
    ranges, even though the spec forbids this. In various places in our code
    we called `selection.getRangeAt(0)` assuming there would only be one
    range. In the case where FF had created multiple ranges, this led to
    only part of the user's selection being respected.
    
     - Modifying the `selectedRange` utility to combine multi-range
       selections into a single Range, so that the results in Firefox are
       the same as in other browsers.
    
     - Replacing various direct calls to `selection.getRangeAt(0)` with
       calls to `selectedRange` so that they take get this normalization
       applied.
    
       In the tests for `Guest`, this led to refactoring to make some tests
       less tied to implementation details.
    
    Fixes https://github.com/hypothesis/client/issues/5485
    6eb68bb6
Name
Last commit
Last update
..
integration Loading commit data...
adder-test.js Loading commit data...
annotation-counts-test.js Loading commit data...
bucket-bar-client-test.js Loading commit data...
bucket-bar-test.js Loading commit data...
empty.html Loading commit data...
features-test.js Loading commit data...
frame-observer-test.js Loading commit data...
guest-test.js Loading commit data...
highlight-clusters-test.js Loading commit data...
highlighter-test.js Loading commit data...
notebook-test.js Loading commit data...
profile-test.js Loading commit data...
range-util-test.js Loading commit data...
selection-observer-test.js Loading commit data...
sidebar-test.js Loading commit data...
sidebar-trigger-test.js Loading commit data...
toolbar-test.js Loading commit data...