Commit 26b55f3a authored by Ria Jiang's avatar Ria Jiang Committed by Commit Bot

Crash the gpu process when it cannot allocate shared memory.

Bug: 835628
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I06c983e2e12b804a3fd31ef909917c30d6cf1b06
Reviewed-on: https://chromium-review.googlesource.com/1027801
Commit-Queue: Ria Jiang <riajiang@chromium.org>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553813}
parent 4936cfab
......@@ -69,19 +69,20 @@ void HitTestAggregator::AllocateHitTestRegionArray() {
void HitTestAggregator::ResizeHitTestRegionArray(uint32_t size) {
size_t num_bytes = size * sizeof(AggregatedHitTestRegion);
write_handle_ = mojo::SharedBufferHandle::Create(num_bytes);
DCHECK(write_handle_.is_valid());
auto new_buffer_ = write_handle_->Map(num_bytes);
DCHECK(new_buffer_);
CHECK(write_handle_.is_valid()) << "Allocating shared memory failed.";
auto new_buffer = write_handle_->Map(num_bytes);
CHECK(new_buffer) << "Allocating shared memory failed.";
handle_replaced_ = true;
AggregatedHitTestRegion* region = (AggregatedHitTestRegion*)new_buffer_.get();
AggregatedHitTestRegion* region =
static_cast<AggregatedHitTestRegion*>(new_buffer.get());
if (write_size_)
memcpy(region, write_buffer_.get(), write_size_);
else
region[0].child_count = kEndOfList;
write_size_ = size;
write_buffer_ = std::move(new_buffer_);
write_buffer_ = std::move(new_buffer);
}
void HitTestAggregator::SwapHandles() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment