Open dandclark opened 7 months ago
Similarly, what should happen if in updateText(start, end, text)
, the specified start/end are outside the bounds of the current text?
Chromium silently clamps start/end to the length of the current text. I wonder if this should throw instead.
EditContext's constructor also allows the selection and text to be specified, so that should be considered here as well.
(Dropping this from the Agenda for the next meeting since I haven't had a chance to make progress on it)
While looking at #87 I noticed that
updateSelection()
as currently specified doesn't prevent the author from specifying a selection that's outside the bounds of the text.This is not what I would have expected; it seems like a potential source of errors to allow selection to be set outside of the text. It's not exactly clear how the browser should handle adjusting selection in these scenarios.
We should consider enforcing that
updateSelection()
not allow the author to set a selection begin or end larger than the size ofEditContext.text
.If we add this restriction, we'd also want to have [updateText()](https://w3c.github.io/edit-context/#dfn-selection-start:~:text=start%20index.-,updateText()%20method,-The%20method%20must) adjust the selection offsets if the update would put them outside of the new shortened text.
The current Chromium implementation clamps the selection set in
updateSelection()
to the length of the text, but does not throw an error.