diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp index a7695e6436b7..cd90429840fd 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -1765,12 +1765,6 @@ CompositorBridgeParent::AllocPWebRenderBridgeParent(const wr::PipelineId& aPipel MOZ_ASSERT(!mCompositorScheduler); MOZ_ASSERT(mWidget); -#ifdef XP_WIN - if (DeviceManagerDx::Get()->CanUseDComp() && mWidget) { - mWidget->AsWindows()->EnsureCompositorWindow(); - } -#endif - RefPtr widget = mWidget; RefPtr api = wr::WebRenderAPI::Create(this, Move(widget), aSize); if (!api) { @@ -1815,11 +1809,6 @@ CompositorBridgeParent::DeallocPWebRenderBridgeParent(PWebRenderBridgeParent* aA it->second.mWrBridge = nullptr; } } -#ifdef XP_WIN - if (DeviceManagerDx::Get()->CanUseDComp() && mWidget) { - mWidget->AsWindows()->DestroyCompositorWindow(); - } -#endif parent->Release(); // IPDL reference return true; } @@ -1963,6 +1952,12 @@ CompositorBridgeParent::AllocPCompositorWidgetParent(const CompositorWidgetInitD new widget::CompositorWidgetParent(aInitData, mOptions); widget->AddRef(); +#ifdef XP_WIN + if (DeviceManagerDx::Get()->CanUseDComp()) { + widget->AsWindows()->EnsureCompositorWindow(); + } +#endif + // Sending the constructor acts as initialization as well. mWidget = widget; return widget;