diff --git a/browser/base/content/test/performance/browser.ini b/browser/base/content/test/performance/browser.ini index 7cb9455608eb3..7f1d850d5148a 100644 --- a/browser/base/content/test/performance/browser.ini +++ b/browser/base/content/test/performance/browser.ini @@ -31,9 +31,6 @@ skip-if = (os == 'win' && bits == 32) (os == 'win' && processor == 'aarch64') (os == 'linux' && socketprocess_networking) # Bug 1382809, bug 1369959, Win32 because of intermittent OOM failures, bug 1533141 for aarch64 -[browser_panel_vsync.js] -support-files = - !/browser/components/downloads/test/browser/head.js [browser_preferences_usage.js] https_first_disabled = true skip-if = diff --git a/browser/base/content/test/performance/browser_panel_vsync.js b/browser/base/content/test/performance/browser_panel_vsync.js deleted file mode 100644 index a00b977ca98f0..0000000000000 --- a/browser/base/content/test/performance/browser_panel_vsync.js +++ /dev/null @@ -1,70 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -/* import-globals-from ../../../../components/downloads/test/browser/head.js */ - -"use strict"; - -Services.scriptloader.loadSubScript( - "chrome://mochitests/content/browser/browser/components/downloads/test/browser/head.js", - this -); - -add_task( - async function test_opening_panel_and_closing_should_not_leave_vsync() { - await SpecialPowers.pushPrefEnv({ - set: [["browser.download.autohideButton", false]], - }); - await promiseButtonShown("downloads-button"); - - const downloadsButton = document.getElementById("downloads-button"); - const shownPromise = promisePanelOpened(); - EventUtils.synthesizeNativeMouseEvent({ - type: "click", - target: downloadsButton, - atCenter: true, - }); - await shownPromise; - - is(DownloadsPanel.panel.state, "open", "Check that panel state is 'open'"); - - await TestUtils.waitForCondition( - () => !ChromeUtils.vsyncEnabled(), - "Make sure vsync disabled" - ); - // Should not already be using vsync - ok(!ChromeUtils.vsyncEnabled(), "vsync should be off initially"); - - if ( - AppConstants.platform == "linux" && - DownloadsPanel.panel.state != "open" - ) { - // Panels sometime receive spurious popuphiding events on Linux. - // Given the main target of this test is Windows, avoid causing - // intermittent failures and just make the test return early. - todo( - false, - "panel should still be 'open', current state: " + - DownloadsPanel.panel.state - ); - return; - } - - const hiddenPromise = BrowserTestUtils.waitForEvent( - DownloadsPanel.panel, - "popuphidden" - ); - EventUtils.synthesizeKey("VK_ESCAPE", {}, window); - await hiddenPromise; - await TestUtils.waitForCondition( - () => !ChromeUtils.vsyncEnabled(), - "wait for vsync to be disabled again" - ); - - ok(!ChromeUtils.vsyncEnabled(), "vsync should still be off"); - is( - DownloadsPanel.panel.state, - "closed", - "Check that panel state is 'closed'" - ); - } -); diff --git a/gfx/layers/ipc/PWebRenderBridge.ipdl b/gfx/layers/ipc/PWebRenderBridge.ipdl index 81786c59ffa82..4d5e623a40c50 100644 --- a/gfx/layers/ipc/PWebRenderBridge.ipdl +++ b/gfx/layers/ipc/PWebRenderBridge.ipdl @@ -69,7 +69,6 @@ parent: sync GetSnapshot(PTexture texture) returns (bool aNeedsYFlip); async SetLayersObserverEpoch(LayersObserverEpoch childEpoch); async ClearCachedResources(); - async ClearAnimationResources(); async SetDefaultClearColor(uint32_t aColor); // Invalidate rendered frame async InvalidateRenderedFrame(); diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp index d3284ca6d8535..abc2ae4daa75c 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.cpp +++ b/gfx/layers/wr/WebRenderBridgeParent.cpp @@ -1893,14 +1893,6 @@ mozilla::ipc::IPCResult WebRenderBridgeParent::RecvClearCachedResources() { return IPC_OK(); } -mozilla::ipc::IPCResult WebRenderBridgeParent::RecvClearAnimationResources() { - if (!mDestroyed) { - ClearAnimationResources(); - } - - return IPC_OK(); -} - wr::Epoch WebRenderBridgeParent::UpdateWebRender( CompositorVsyncScheduler* aScheduler, RefPtr&& aApi, AsyncImagePipelineManager* aImageMgr, diff --git a/gfx/layers/wr/WebRenderBridgeParent.h b/gfx/layers/wr/WebRenderBridgeParent.h index a88c8f5162bfd..5054c87350eee 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.h +++ b/gfx/layers/wr/WebRenderBridgeParent.h @@ -141,7 +141,6 @@ class WebRenderBridgeParent final : public PWebRenderBridgeParent, const LayersObserverEpoch& aChildEpoch) override; mozilla::ipc::IPCResult RecvClearCachedResources() override; - mozilla::ipc::IPCResult RecvClearAnimationResources() override; mozilla::ipc::IPCResult RecvInvalidateRenderedFrame() override; mozilla::ipc::IPCResult RecvScheduleComposite( const wr::RenderReasons& aReasons) override; diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp index e72b20c03744f..8a3c404e29df5 100644 --- a/gfx/layers/wr/WebRenderLayerManager.cpp +++ b/gfx/layers/wr/WebRenderLayerManager.cpp @@ -622,14 +622,6 @@ void WebRenderLayerManager::ClearCachedResources() { WrBridge()->EndClearCachedResources(); } -void WebRenderLayerManager::ClearAnimationResources() { - if (!WrBridge()->IPCOpen()) { - gfxCriticalNote << "IPC Channel is already torn down unexpectedly\n"; - return; - } - WrBridge()->SendClearAnimationResources(); -} - void WebRenderLayerManager::WrUpdated() { ClearAsyncAnimations(); mStateManager.mAsyncResourceUpdates.reset(); diff --git a/gfx/layers/wr/WebRenderLayerManager.h b/gfx/layers/wr/WebRenderLayerManager.h index ff96fe513eae2..7fdb0b0ba4989 100644 --- a/gfx/layers/wr/WebRenderLayerManager.h +++ b/gfx/layers/wr/WebRenderLayerManager.h @@ -102,7 +102,6 @@ class WebRenderLayerManager final : public WindowRenderer { const mozilla::TimeStamp& aCompositeEnd); void ClearCachedResources(); - void ClearAnimationResources(); void UpdateTextureFactoryIdentifier( const TextureFactoryIdentifier& aNewIdentifier); TextureFactoryIdentifier GetTextureFactoryIdentifier(); diff --git a/layout/xul/nsMenuPopupFrame.cpp b/layout/xul/nsMenuPopupFrame.cpp index c55270501e0e0..61aa3b1f8e7e7 100644 --- a/layout/xul/nsMenuPopupFrame.cpp +++ b/layout/xul/nsMenuPopupFrame.cpp @@ -1098,13 +1098,6 @@ void nsMenuPopupFrame::HidePopup(bool aDeselectMenu, nsPopupState aNewState) { mCurrentMenu = nullptr; // make sure no current menu is set mHFlip = mVFlip = false; - if (auto* widget = GetWidget()) { - // Ideally we should call ClearCachedWebrenderResources but there are - // intermittent failures (see bug 1748788), so we currently call - // ClearWebrenderAnimationResources instead. - widget->ClearWebrenderAnimationResources(); - } - nsView* view = GetView(); nsViewManager* viewManager = view->GetViewManager(); viewManager->SetViewVisibility(view, nsViewVisibility_kHide); diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp index 12cd01d6b2e9d..f182ad8e00e7f 100644 --- a/widget/nsBaseWidget.cpp +++ b/widget/nsBaseWidget.cpp @@ -1368,13 +1368,6 @@ void nsBaseWidget::ClearCachedWebrenderResources() { mWindowRenderer->AsWebRender()->ClearCachedResources(); } -void nsBaseWidget::ClearWebrenderAnimationResources() { - if (!mWindowRenderer || !mWindowRenderer->AsWebRender()) { - return; - } - mWindowRenderer->AsWebRender()->ClearAnimationResources(); -} - bool nsBaseWidget::SetNeedFastSnaphot() { MOZ_ASSERT(XRE_IsParentProcess()); MOZ_ASSERT(!mCompositorSession); diff --git a/widget/nsBaseWidget.h b/widget/nsBaseWidget.h index cf42a3480245e..87599b8ca498d 100644 --- a/widget/nsBaseWidget.h +++ b/widget/nsBaseWidget.h @@ -611,8 +611,6 @@ class nsBaseWidget : public nsIWidget, public nsSupportsWeakReference { void ClearCachedWebrenderResources() override; - void ClearWebrenderAnimationResources() override; - bool SetNeedFastSnaphot() override; /** diff --git a/widget/nsIWidget.h b/widget/nsIWidget.h index b6e7963ec5981..d5f1c9ff02f20 100644 --- a/widget/nsIWidget.h +++ b/widget/nsIWidget.h @@ -1998,11 +1998,6 @@ class nsIWidget : public nsISupports { */ virtual void ClearCachedWebrenderResources() {} - /** - * Clear WebRender animation resources - */ - virtual void ClearWebrenderAnimationResources() {} - /** * Request fast snapshot at RenderCompositor of WebRender. * Since readback of Windows DirectComposition is very slow.