Don't ever split DocumentMarkers on remove

Right now some of the DocumentMarkerController::removeMarkers() methods take an
enum flag, RemovePartiallyOverlappingMarkerOrNot that controls what the method
does with markers that partially intersect the passed-in range but do not fall
entirely within it. If the value DoNotRemovePartiallyOverlappingMarker is
passed, the section in the passed-in range is removed and the remaining piece(s)
of the marker are left in place (otherwise the entire marker is removed). If the
passed-in range contains part of the interior of the marker but neither the
start nor end position, this means the marker is split into two pieces, which
requires copying the marker. yosin thinks copying markers is weird and we should
try to avoid ever having to do it. I believe this is possible if we eliminate
this flag and just never split markers on removal.

I don't think any of the currently-existing marker types (Spelling, Grammar,
Composition, TextMatch) ever make sense to split, and neither do the new types
I'm going to add (Suggestion, SuggestionHighlight). The only test cases I had to
update after this change are ones I added based on the current behavior.

BUG=707867

Review-Url: https://codereview.chromium.org/2806683002
Cr-Commit-Position: refs/heads/master@{#464524}
5 files changed