diff --git a/widget/gtk/WaylandSurface.cpp b/widget/gtk/WaylandSurface.cpp index 8450fd0cd46ca..55d140080634e 100644 --- a/widget/gtk/WaylandSurface.cpp +++ b/widget/gtk/WaylandSurface.cpp @@ -311,10 +311,9 @@ static const struct wl_callback_listener sWaylandSurfaceFrameListener = { void WaylandSurface::RequestFrameCallbackLocked( const WaylandSurfaceLock& aProofOfLock, bool aRequestEmulated) { LOGVERBOSE( - "WaylandSurface::RequestFrameCallbackLocked(), enabled %d mapped %d " - "emulate " + "WaylandSurface::RequestFrameCallbackLocked(), mapped %d emulate " "%d mFrameCallback %d", - mFrameCallbackEnabled, !!mIsMapped, aRequestEmulated, !!mFrameCallback); + !!mIsMapped, aRequestEmulated, !!mFrameCallback); MOZ_DIAGNOSTIC_ASSERT(&aProofOfLock == mSurfaceLock); @@ -323,11 +322,6 @@ void WaylandSurface::RequestFrameCallbackLocked( if (!mIsReadyToDraw) { return; } - - if (!mFrameCallbackEnabled) { - return; - } - MOZ_DIAGNOSTIC_ASSERT(mSurface, "Missing mapped surface!"); if (!mFrameCallback) { @@ -396,27 +390,6 @@ void WaylandSurface::AddPersistentFrameCallbackLocked( RequestFrameCallbackLocked(aProofOfLock, aEmulateFrameCallback); } -void WaylandSurface::SetFrameCallbackState(bool aEnabled) { - LOGWAYLAND("WaylandSurface::SetFrameCallbackState() state %d", aEnabled); - - WaylandSurfaceLock lock(this); - if (mFrameCallbackEnabled == aEnabled) { - return; - } - mFrameCallbackEnabled = aEnabled; - - // If there's any frame callback waiting, register the handler. - if (mFrameCallbackEnabled) { - if (!mPersistentFrameCallbackHandlers.empty() || - !mOneTimeFrameCallbackHandlers.empty()) { - RequestFrameCallbackLocked(lock, - IsEmulatedFrameCallbackPendingLocked(lock)); - } - } else { - ClearFrameCallbackLocked(lock); - } -} - bool WaylandSurface::CreateViewportLocked( const WaylandSurfaceLock& aProofOfLock, bool aFollowsSizeChanges) { LOGWAYLAND("WaylandSurface::CreateViewportLocked() follow size %d", diff --git a/widget/gtk/WaylandSurface.h b/widget/gtk/WaylandSurface.h index 4ceb375db16dc..e4c3540919bd6 100644 --- a/widget/gtk/WaylandSurface.h +++ b/widget/gtk/WaylandSurface.h @@ -64,9 +64,6 @@ class WaylandSurface final { const std::function& aFrameCallbackHandler, bool aEmulateFrameCallback = false); - // Enable/Disable any frame callback emission (includes emulated ones). - void SetFrameCallbackState(bool aEnabled); - // Create and resize EGL window. // GetEGLWindow() takes unscaled window size as we derive size from GdkWindow. // It's scaled internally by WaylandSurface fractional scale. @@ -318,7 +315,6 @@ class WaylandSurface final { bool mEmulated = false; }; - bool mFrameCallbackEnabled = true; // Frame callback handlers called every frame std::vector mPersistentFrameCallbackHandlers; // Frame callback handlers called only once diff --git a/widget/gtk/WaylandVsyncSource.cpp b/widget/gtk/WaylandVsyncSource.cpp index a3e59b8de3801..faeba0da5cf15 100644 --- a/widget/gtk/WaylandVsyncSource.cpp +++ b/widget/gtk/WaylandVsyncSource.cpp @@ -147,9 +147,6 @@ void WaylandVsyncSource::EnableVSyncSource() { LOG("WaylandVsyncSource::EnableVSyncSource() WaylandSurface [%p] fps %f", mWaylandSurface.get(), GetFPS(mVsyncRate)); mVsyncSourceEnabled = true; - - MOZ_DIAGNOSTIC_ASSERT(mWaylandSurface); - mWaylandSurface->SetFrameCallbackState(mVsyncEnabled && mVsyncSourceEnabled); } void WaylandVsyncSource::DisableVSyncSource() { @@ -157,9 +154,6 @@ void WaylandVsyncSource::DisableVSyncSource() { LOG("WaylandVsyncSource::DisableVSyncSource() WaylandSurface [%p]", mWaylandSurface.get()); mVsyncSourceEnabled = false; - - MOZ_DIAGNOSTIC_ASSERT(mWaylandSurface); - mWaylandSurface->SetFrameCallbackState(mVsyncEnabled && mVsyncSourceEnabled); } bool WaylandVsyncSource::HiddenWindowCallback() { @@ -171,12 +165,12 @@ bool WaylandVsyncSource::HiddenWindowCallback() { { MutexAutoLock lock(mMutex); - if (!mVsyncSourceEnabled || !mVsyncEnabled) { + if (!mVsyncEnabled) { // We are unwanted by either our creator or our consumer, so we just stop // here without setting up a new frame callback. LOG("WaylandVsyncSource::HiddenWindowCallback(): quit, mVsyncEnabled %d " "mWaylandSurface %p", - mVsyncEnabled && mVsyncSourceEnabled, mWaylandSurface.get()); + mVsyncEnabled, mWaylandSurface.get()); return false; } @@ -235,11 +229,11 @@ void WaylandVsyncSource::VisibleWindowCallback(uint32_t aTime) { } MutexAutoLock lock(mMutex); - if (!mVsyncEnabled || !mVsyncSourceEnabled) { + if (!mVsyncEnabled) { // We are unwanted by either our creator or our consumer, so we just stop // here without setting up a new frame callback. - LOG(" quit, mVsyncEnabled %d mWaylandSurface %p", - mVsyncEnabled && mVsyncSourceEnabled, mWaylandSurface.get()); + LOG(" quit, mVsyncEnabled %d mWaylandSurface %p", mVsyncEnabled, + mWaylandSurface.get()); return; } @@ -311,23 +305,17 @@ void WaylandVsyncSource::EnableVsync() { return; } mVsyncEnabled = true; - mWaylandSurface->SetFrameCallbackState(mVsyncEnabled && mVsyncSourceEnabled); } void WaylandVsyncSource::DisableVsync() { MutexAutoLock lock(mMutex); LOG("WaylandVsyncSource::DisableVsync fps %f\n", GetFPS(mVsyncRate)); - if (!mVsyncEnabled || mIsShutdown) { - LOG(" early quit"); - return; - } mVsyncEnabled = false; - mWaylandSurface->SetFrameCallbackState(mVsyncEnabled && mVsyncSourceEnabled); } bool WaylandVsyncSource::IsVsyncEnabled() { MutexAutoLock lock(mMutex); - return mVsyncEnabled && mWaylandSurface; + return mVsyncEnabled; } void WaylandVsyncSource::Shutdown() {