| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "third_party/blink/renderer/core/editing/iterators/backwards_text_buffer.h" |
| |
| namespace blink { |
| |
| const UChar* BackwardsTextBuffer::Data() const { |
| return BufferEnd() - Size(); |
| } |
| |
| UChar* BackwardsTextBuffer::CalcDestination(wtf_size_t length) { |
| DCHECK_LE(Size() + length, Capacity()); |
| return BufferEnd() - Size() - length; |
| } |
| |
| void BackwardsTextBuffer::ShiftData(wtf_size_t old_capacity) { |
| DCHECK_LE(old_capacity, Capacity()); |
| DCHECK_LE(Size(), old_capacity); |
| std::copy_backward(BufferBegin() + old_capacity - Size(), |
| BufferBegin() + old_capacity, BufferEnd()); |
| } |
| |
| } // namespace blink |