Refactor VectorBuffer to use CheckedIterators.
Currently VectorBuffer allows the access of buffer[size]. This is because callers are using buffer[size] to get buffer.end(). In order to avoid this, use CheckedRandomAccessIterators in VectorBuffer. This required creating iterator versions for the DestructRange and MoveRange functions. CheckedIterator's behavior now depends on the enable_checked_iterators buildflag: when true, CheckedIterator will CHECK on spatial safety violations; when false, CheckedIterator will merely DCHECK. This is temporary, so that binary size regressions on Android can be studied and explained: the eventual goal is to enable this universally and remove the buildflag. BUG=chromium:817982 Change-Id: I2037bdb542c4442011fc9ebffdc50e50ccfafa7c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1674746Reviewed-by:Wez <wez@chromium.org> Commit-Queue: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#685387}
Showing
Please register or sign in to comment