Bug 1728914 - Remove widget code references to AsLayerManager and access WebRender directly. r=gfx-reviewers,aosmond,jrmuizel

Depends on D124415

Differential Revision: https://phabricator.services.mozilla.com/D124416
This commit is contained in:
Matt Woodrow
2021-09-05 02:16:36 +00:00
parent 6d4cf7026a
commit 6d44c41723
7 changed files with 9 additions and 83 deletions

View File

@@ -733,8 +733,6 @@ void nsWindow::Destroy() {
// to avoid double-freeing.
mSurfaceProvider.CleanupResources();
ClearCachedResources();
g_signal_handlers_disconnect_by_data(gtk_settings_get_default(), this);
nsIRollupListener* rollupListener = nsBaseWidget::GetActiveRollupListener();
@@ -1111,11 +1109,6 @@ void nsWindow::ApplySizeConstraints(void) {
void nsWindow::Show(bool aState) {
if (aState == mIsShown) return;
// Clear our cached resources when the window is hidden.
if (mIsShown && !aState) {
ClearCachedResources();
}
mIsShown = aState;
LOG(("nsWindow::Show [%p] state %d\n", (void*)this, aState));
@@ -3444,7 +3437,7 @@ gboolean nsWindow::OnExposeEvent(cairo_t* cr) {
region.ScaleRoundOut(scale, scale);
WindowRenderer* renderer = GetWindowRenderer();
LayerManager* layerManager = renderer->AsLayerManager();
WebRenderLayerManager* layerManager = renderer->AsWebRender();
KnowsCompositor* knowsCompositor = renderer->AsKnowsCompositor();
if (knowsCompositor && layerManager && mCompositorSession) {
@@ -8437,21 +8430,6 @@ void nsWindow::SetCompositorWidgetDelegate(CompositorWidgetDelegate* delegate) {
}
}
void nsWindow::ClearCachedResources() {
if (mWindowRenderer && mWindowRenderer->GetBackendType() ==
mozilla::layers::LayersBackend::LAYERS_BASIC) {
mWindowRenderer->AsLayerManager()->ClearCachedResources();
}
GList* children = gdk_window_peek_children(mGdkWindow);
for (GList* list = children; list; list = list->next) {
nsWindow* window = get_window_for_gdk_window(GDK_WINDOW(list->data));
if (window) {
window->ClearCachedResources();
}
}
}
/* nsWindow::UpdateClientOffsetFromCSDWindow() is designed to be called from
* nsWindow::OnConfigureEvent() when mContainer window is already positioned.
*