Bug 1784565 - Annotate OffscreenCanvasDisplayHelper's mutex. r=gfx-reviewers,lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D154569
This commit is contained in:
Andrew Osmond 2022-08-12 21:16:06 +00:00
Родитель 75fd921d47
Коммит 8751373382
2 изменённых файлов: 13 добавлений и 14 удалений

Просмотреть файл

@ -201,8 +201,6 @@ bool OffscreenCanvasDisplayHelper::CommitFrameToCompositor(
}
void OffscreenCanvasDisplayHelper::MaybeQueueInvalidateElement() {
mMutex.AssertCurrentThreadOwns();
if (!mPendingInvalidate) {
mPendingInvalidate = true;
NS_DispatchToMainThread(NS_NewRunnableFunction(

Просмотреть файл

@ -57,7 +57,7 @@ class OffscreenCanvasDisplayHelper final {
private:
~OffscreenCanvasDisplayHelper();
void MaybeQueueInvalidateElement();
void MaybeQueueInvalidateElement() MOZ_REQUIRES(mMutex);
void InvalidateElement();
bool TransformSurface(const gfx::DataSourceSurface::ScopedMap& aSrcMap,
@ -65,18 +65,19 @@ class OffscreenCanvasDisplayHelper final {
gfx::SurfaceFormat aFormat, const gfx::IntSize& aSize,
bool aNeedsPremult, gl::OriginPos aOriginPos) const;
mutable Mutex mMutex MOZ_UNANNOTATED;
HTMLCanvasElement* MOZ_NON_OWNING_REF mCanvasElement;
RefPtr<layers::ImageContainer> mImageContainer;
RefPtr<gfx::SourceSurface> mFrontBufferSurface;
mutable Mutex mMutex;
HTMLCanvasElement* MOZ_NON_OWNING_REF mCanvasElement MOZ_GUARDED_BY(mMutex);
RefPtr<layers::ImageContainer> mImageContainer MOZ_GUARDED_BY(mMutex);
RefPtr<gfx::SourceSurface> mFrontBufferSurface MOZ_GUARDED_BY(mMutex);
OffscreenCanvasDisplayData mData;
CanvasContextType mType = CanvasContextType::NoContext;
Maybe<uint32_t> mContextManagerId;
Maybe<int32_t> mContextChildId;
mozilla::layers::ImageContainer::ProducerID mImageProducerID;
mozilla::layers::ImageContainer::FrameID mLastFrameID = 0;
bool mPendingInvalidate = false;
OffscreenCanvasDisplayData mData MOZ_GUARDED_BY(mMutex);
CanvasContextType mType MOZ_GUARDED_BY(mMutex) = CanvasContextType::NoContext;
Maybe<uint32_t> mContextManagerId MOZ_GUARDED_BY(mMutex);
Maybe<int32_t> mContextChildId MOZ_GUARDED_BY(mMutex);
const mozilla::layers::ImageContainer::ProducerID mImageProducerID;
mozilla::layers::ImageContainer::FrameID mLastFrameID MOZ_GUARDED_BY(mMutex) =
0;
bool mPendingInvalidate MOZ_GUARDED_BY(mMutex) = false;
};
} // namespace mozilla::dom