Backed out 4 changesets (bug 1742797, bug 1748808) for causing crashes at mozilla::layers::APZCTreeManagerParent::RecvUpdateZoomConstraints.

Backed out changeset 23f2a369a5a7 (bug 1748808)
Backed out changeset 5b0edd03f698 (bug 1742797)
Backed out changeset 8ed69c2c1d49 (bug 1742797)
Backed out changeset 18e11e7ea9d0 (bug 1742797)
This commit is contained in:
Butkovits Atila
2022-07-19 08:12:04 +03:00
parent 0adba50c27
commit 7dd51c0a72
12 changed files with 0 additions and 128 deletions

View File

@@ -30,9 +30,6 @@ skip-if =
debug
(os == 'win') # Win32 because of intermittent OOM failures, bug 1533141 for aarch64, Bug 1775626
(os == 'linux' && socketprocess_networking) # Bug 1382809, bug 1369959
[browser_panel_vsync.js]
support-files =
!/browser/components/downloads/test/browser/head.js
[browser_preferences_usage.js]
https_first_disabled = true
skip-if =

View File

@@ -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'"
);
}
);

View File

@@ -120,21 +120,6 @@ add_task(async function() {
let win1 = await BrowserTestUtils.openNewBrowserWindow();
let win2 = await BrowserTestUtils.openNewBrowserWindow();
// Make sure the mouse isn't hovering over the browserAction widget.
// (Prevents unexpected intermittent failures due to the popup page being
// potentially preloaded when the mouse is hovering the browserAction widget,
// See Bug 1748808).
//
// TODO(Bug 1780008): remove this workaround once we have landed a proper long
// term fix and a test case to explicitly cover it as part of Bug 1780008).
for (const win of [window, win1, win2]) {
EventUtils.synthesizeMouseAtCenter(
win.gURLBar.textbox,
{ type: "mouseover" },
win
);
}
let extension = ExtensionTestUtils.loadExtension({
useAddonManager: "temporary", // To automatically show sidebar on load.
manifest: {

View File

@@ -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();

View File

@@ -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<wr::WebRenderAPI>&& aApi,
AsyncImagePipelineManager* aImageMgr,

View File

@@ -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;

View File

@@ -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();

View File

@@ -102,7 +102,6 @@ class WebRenderLayerManager final : public WindowRenderer {
const mozilla::TimeStamp& aCompositeEnd);
void ClearCachedResources();
void ClearAnimationResources();
void UpdateTextureFactoryIdentifier(
const TextureFactoryIdentifier& aNewIdentifier);
TextureFactoryIdentifier GetTextureFactoryIdentifier();

View File

@@ -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);

View File

@@ -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);

View File

@@ -611,8 +611,6 @@ class nsBaseWidget : public nsIWidget, public nsSupportsWeakReference {
void ClearCachedWebrenderResources() override;
void ClearWebrenderAnimationResources() override;
bool SetNeedFastSnaphot() override;
/**

View File

@@ -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.