mozilla::ipc::IPCResult WebRenderBridgeParent::RecvAddBlobImage(const wr::ImageKey& aImageKey, const gfx::IntSize& aSize, const uint32_t& aStride, const gfx::SurfaceFormat& aFormat, const ByteBuffer& aBuffer) { if (mDestroyed) { return IPC_OK(); } // Check if key is obsoleted. if (aImageKey.mNamespace != mIdNamespace) { return IPC_OK(); } MOZ_ASSERT(mApi); MOZ_ASSERT(mActiveImageKeys.find(wr::AsUint64(aImageKey)) == mActiveImageKeys.end()); wr::ImageDescriptor descriptor(aSize, aStride, aFormat); mActiveImageKeys.insert(wr::AsUint64(aImageKey)); mApi->AddBlobImage(aImageKey, descriptor, aBuffer.AsSlice()); return IPC_OK(); }
mozilla::ipc::IPCResult WebRenderBridgeParent::RecvUpdateImage(const wr::ImageKey& aImageKey, const gfx::IntSize& aSize, const gfx::SurfaceFormat& aFormat, const ByteBuffer& aBuffer) { if (mDestroyed) { return IPC_OK(); } MOZ_ASSERT(mApi); // Check if key is obsoleted. if (aImageKey.mNamespace != mIdNamespace) { return IPC_OK(); } wr::ImageDescriptor descriptor(aSize, aFormat); mApi->UpdateImageBuffer(aImageKey, descriptor, aBuffer.AsSlice()); return IPC_OK(); }
mozilla::ipc::IPCResult WebRenderBridgeParent::RecvAddRawFont(const wr::FontKey& aFontKey, const ByteBuffer& aBuffer, const uint32_t& aFontIndex) { if (mDestroyed) { return IPC_OK(); } // Check if key is obsoleted. if (aFontKey.mNamespace != mIdNamespace) { return IPC_OK(); } MOZ_ASSERT(mApi); MOZ_ASSERT(mFontKeys.find(wr::AsUint64(aFontKey)) == mFontKeys.end()); auto slice = aBuffer.AsSlice(); mFontKeys.insert(wr::AsUint64(aFontKey)); mApi->AddRawFont(aFontKey, slice, aFontIndex); return IPC_OK(); }