Index: third_party/WebKit/Source/platform/SharedBuffer.cpp |
diff --git a/third_party/WebKit/Source/platform/SharedBuffer.cpp b/third_party/WebKit/Source/platform/SharedBuffer.cpp |
index 48d73cd612f2ab7f0075d6072ca433ad7a10c2ef..6bfbe81f3e8940552b034a05be04357f242a4c2c 100644 |
--- a/third_party/WebKit/Source/platform/SharedBuffer.cpp |
+++ b/third_party/WebKit/Source/platform/SharedBuffer.cpp |
@@ -54,35 +54,23 @@ static inline void freeSegment(char* p) |
SharedBuffer::SharedBuffer() |
: m_size(0) |
- , m_buffer(PurgeableVector::NotPurgeable) |
{ |
} |
SharedBuffer::SharedBuffer(size_t size) |
: m_size(size) |
- , m_buffer(PurgeableVector::NotPurgeable) |
+ , m_buffer(size) |
{ |
- m_buffer.reserveCapacity(size); |
- m_buffer.grow(size); |
} |
SharedBuffer::SharedBuffer(const char* data, size_t size) |
: m_size(0) |
- , m_buffer(PurgeableVector::NotPurgeable) |
-{ |
- appendInternal(data, size); |
-} |
- |
-SharedBuffer::SharedBuffer(const char* data, size_t size, PurgeableVector::PurgeableOption purgeable) |
- : m_size(0) |
- , m_buffer(purgeable) |
{ |
appendInternal(data, size); |
} |
SharedBuffer::SharedBuffer(const unsigned char* data, size_t size) |
: m_size(0) |
- , m_buffer(PurgeableVector::NotPurgeable) |
{ |
appendInternal(reinterpret_cast<const char*>(data), size); |
} |
@@ -95,7 +83,7 @@ SharedBuffer::~SharedBuffer() |
PassRefPtr<SharedBuffer> SharedBuffer::adoptVector(Vector<char>& vector) |
{ |
RefPtr<SharedBuffer> buffer = create(); |
- buffer->m_buffer.adopt(vector); |
+ buffer->m_buffer.swap(vector); |
buffer->m_size = buffer->m_buffer.size(); |
return buffer.release(); |
} |
@@ -178,7 +166,7 @@ PassRefPtr<SharedBuffer> SharedBuffer::copy() const |
{ |
RefPtr<SharedBuffer> clone(adoptRef(new SharedBuffer)); |
clone->m_size = m_size; |
- clone->m_buffer.reserveCapacity(m_size); |
+ clone->m_buffer.reserveInitialCapacity(m_size); |
clone->m_buffer.append(m_buffer.data(), m_buffer.size()); |
if (!m_segments.isEmpty()) { |
const char* segment = 0; |
@@ -284,7 +272,9 @@ sk_sp<SkData> SharedBuffer::getAsSkData() const |
void SharedBuffer::onMemoryDump(const String& dumpPrefix, WebProcessMemoryDump* memoryDump) const |
{ |
if (m_buffer.size()) { |
- m_buffer.onMemoryDump(dumpPrefix + "/shared_buffer", memoryDump); |
+ WebMemoryAllocatorDump* dump = memoryDump->createMemoryAllocatorDump(dumpPrefix + "/shared_buffer"); |
+ dump->addScalar("size", "bytes", m_buffer.size()); |
+ memoryDump->addSuballocation(dump->guid(), String(WTF::Partitions::kAllocatedObjectPoolName)); |
} else { |
// If there is data in the segments, then it should have been allocated |
// using fastMalloc. |