зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1784565 - Annotate OffscreenCanvasDisplayHelper's mutex. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D154569
This commit is contained in:
Родитель
75fd921d47
Коммит
8751373382
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче