This crash is specific to the software compositing path, which is largely untested. From the trace, it looks like |bitmap| is probably NULL. I'm not entirely sure what would cause that
void CompositorThreadProxy::SendSwapSoftwareFrameOnOwnerThread( uint32 surface_id, const gfx::Size& size, float scale, unsigned id, const gfx::Rect& damage_rect, const cc::SharedBitmapId& bitmap_id) { scoped_ptr<cc::SharedBitmap> bitmap( content::HostSharedBitmapManager::current()->GetSharedBitmapFromId( size, bitmap_id)); DCHECK(bitmap);
scoped_refptr<CompositorFrameHandle> frame( new CompositorFrameHandle(surface_id, this, size, scale)); frame->software_frame_data_.reset( new SoftwareFrameData(id, damage_rect, bitmap->pixels()));
if (!owner().compositor) { DidSwapCompositorFrame(surface_id, frame); return; }
owner().compositor->SendSwapCompositorFrameToClient(surface_id, frame); }
This crash is specific to the software compositing path, which is largely untested. From the trace, it looks like |bitmap| is probably NULL. I'm not entirely sure what would cause that
void CompositorThrea dProxy: :SendSwapSoftwa reFrameOnOwnerT hread( ptr<cc: :SharedBitmap> bitmap( :HostSharedBitm apManager: :current( )->GetSharedBit mapFromId(
uint32 surface_id,
const gfx::Size& size,
float scale,
unsigned id,
const gfx::Rect& damage_rect,
const cc::SharedBitmapId& bitmap_id) {
scoped_
content:
size, bitmap_id));
DCHECK(bitmap);
scoped_ refptr< CompositorFrame Handle> frame( Handle( surface_ id, this, size, scale)); >software_ frame_data_ .reset( ta(id, damage_rect, bitmap->pixels()));
new CompositorFrame
frame-
new SoftwareFrameDa
if (!owner( ).compositor) { ositorFrame( surface_ id, frame);
DidSwapComp
return;
}
owner( ).compositor- >SendSwapCompos itorFrameToClie nt(surface_ id, frame);
}