• Daniel Cheng's avatar
    Refactor VectorBuffer to use CheckedIterators. · 3c1f7d52
    Daniel Cheng authored
    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: default avatarWez <wez@chromium.org>
    Commit-Queue: Daniel Cheng <dcheng@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#685387}
    3c1f7d52
BUILD.gn 130 KB