Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp

Issue 2107103002: Find cached display items directly during painting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/graphics/ContiguousContainer.h" 5 #include "platform/graphics/ContiguousContainer.h"
6 6
7 #include "wtf/Allocator.h" 7 #include "wtf/Allocator.h"
8 #include "wtf/ContainerAnnotations.h" 8 #include "wtf/ContainerAnnotations.h"
9 #include "wtf/PtrUtil.h" 9 #include "wtf/PtrUtil.h"
10 #include "wtf/allocator/PartitionAlloc.h" 10 #include "wtf/allocator/PartitionAlloc.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 } 164 }
165 165
166 void ContiguousContainerBase::swap(ContiguousContainerBase& other) 166 void ContiguousContainerBase::swap(ContiguousContainerBase& other)
167 { 167 {
168 m_elements.swap(other.m_elements); 168 m_elements.swap(other.m_elements);
169 m_buffers.swap(other.m_buffers); 169 m_buffers.swap(other.m_buffers);
170 std::swap(m_endIndex, other.m_endIndex); 170 std::swap(m_endIndex, other.m_endIndex);
171 std::swap(m_maxObjectSize, other.m_maxObjectSize); 171 std::swap(m_maxObjectSize, other.m_maxObjectSize);
172 } 172 }
173 173
174 void ContiguousContainerBase::shrinkToFit()
175 {
176 while (m_endIndex < m_buffers.size() - 1) {
177 DCHECK(m_buffers.last()->isEmpty());
178 m_buffers.removeLast();
179 }
180 }
181
174 ContiguousContainerBase::Buffer* 182 ContiguousContainerBase::Buffer*
175 ContiguousContainerBase::allocateNewBufferForNextAllocation(size_t bufferSize, c onst char* typeName) 183 ContiguousContainerBase::allocateNewBufferForNextAllocation(size_t bufferSize, c onst char* typeName)
176 { 184 {
177 ASSERT(m_buffers.isEmpty() || m_endIndex == m_buffers.size() - 1); 185 ASSERT(m_buffers.isEmpty() || m_endIndex == m_buffers.size() - 1);
178 std::unique_ptr<Buffer> newBuffer = wrapUnique(new Buffer(bufferSize, typeNa me)); 186 std::unique_ptr<Buffer> newBuffer = wrapUnique(new Buffer(bufferSize, typeNa me));
179 Buffer* bufferToReturn = newBuffer.get(); 187 Buffer* bufferToReturn = newBuffer.get();
180 m_buffers.append(std::move(newBuffer)); 188 m_buffers.append(std::move(newBuffer));
181 m_endIndex = m_buffers.size() - 1; 189 m_endIndex = m_buffers.size() - 1;
182 return bufferToReturn; 190 return bufferToReturn;
183 } 191 }
184 192
185 } // namespace blink 193 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698