From 8ac9103e05b66812c25348943383f9365d1ce3e0 Mon Sep 17 00:00:00 2001 From: Jay Civelli Date: Wed, 29 Mar 2017 16:17:00 -0700 Subject: libmojo: Uprev the library to r456626 from Chromium Pulled the latest and greatest version of libmojo from Chromium. The merge was done against r456626 which corresponds to git commit 08266b3fca707804065a2cfd60331722ade41969 of Mar 14, 2017 Notable changes are: - generated binding files are now split in 2 files, interface.mojom.h and interface.mojom-shared.h Change-Id: Idcfd27310e2c9d3c452b671c7ff7a755c3963618 --- mojo/public/cpp/bindings/lib/message_buffer.cc | 37 +++++++------------------- 1 file changed, 9 insertions(+), 28 deletions(-) (limited to 'mojo/public/cpp/bindings/lib/message_buffer.cc') diff --git a/mojo/public/cpp/bindings/lib/message_buffer.cc b/mojo/public/cpp/bindings/lib/message_buffer.cc index af79cfd..cc12ef6 100644 --- a/mojo/public/cpp/bindings/lib/message_buffer.cc +++ b/mojo/public/cpp/bindings/lib/message_buffer.cc @@ -13,54 +13,35 @@ namespace internal { MessageBuffer::MessageBuffer(size_t capacity, bool zero_initialized) { DCHECK_LE(capacity, std::numeric_limits::max()); - data_num_bytes_ = static_cast(capacity); MojoResult rv = AllocMessage(capacity, nullptr, 0, MOJO_ALLOC_MESSAGE_FLAG_NONE, &message_); CHECK_EQ(rv, MOJO_RESULT_OK); - if (capacity == 0) { - buffer_ = nullptr; - } else { - rv = GetMessageBuffer(message_.get(), &buffer_); + void* buffer = nullptr; + if (capacity != 0) { + rv = GetMessageBuffer(message_.get(), &buffer); CHECK_EQ(rv, MOJO_RESULT_OK); if (zero_initialized) - memset(buffer_, 0, capacity); + memset(buffer, 0, capacity); } + Initialize(buffer, capacity); } MessageBuffer::MessageBuffer(ScopedMessageHandle message, uint32_t num_bytes) { message_ = std::move(message); - data_num_bytes_ = num_bytes; - if (num_bytes == 0) { - buffer_ = nullptr; - } else { - MojoResult rv = GetMessageBuffer(message_.get(), &buffer_); + void* buffer = nullptr; + if (num_bytes != 0) { + MojoResult rv = GetMessageBuffer(message_.get(), &buffer); CHECK_EQ(rv, MOJO_RESULT_OK); } + Initialize(buffer, num_bytes); } MessageBuffer::~MessageBuffer() {} -void* MessageBuffer::Allocate(size_t delta) { - delta = internal::Align(delta); - - DCHECK_LE(delta, static_cast(data_num_bytes_)); - DCHECK_GT(bytes_claimed_ + static_cast(delta), bytes_claimed_); - - uint32_t new_bytes_claimed = bytes_claimed_ + static_cast(delta); - if (new_bytes_claimed > data_num_bytes_) { - NOTREACHED(); - return nullptr; - } - - char* start = static_cast(buffer_) + bytes_claimed_; - bytes_claimed_ = new_bytes_claimed; - return static_cast(start); -} - void MessageBuffer::NotifyBadMessage(const std::string& error) { DCHECK(message_.is_valid()); MojoResult result = mojo::NotifyBadMessage(message_.get(), error); -- cgit v1.2.3