Move CompositorWidget ownership from nsWindow to CompositorSession. (bug 1281998 part 4, r=jimm)

This commit is contained in:
David Anderson
2016-07-01 01:15:16 -07:00
parent 039e80e39c
commit 020480eae5
8 changed files with 34 additions and 23 deletions

View File

@@ -17,7 +17,7 @@ class InProcessCompositorSession final : public CompositorSession
{
public:
InProcessCompositorSession(
widget::CompositorWidget* aWidget,
nsIWidget* aWidget,
ClientLayerManager* aLayerManager,
CSSToLayoutDeviceScale aScale,
bool aUseAPZ,
@@ -35,7 +35,7 @@ private:
};
already_AddRefed<CompositorSession>
CompositorSession::CreateInProcess(widget::CompositorWidget* aWidget,
CompositorSession::CreateInProcess(nsIWidget* aWidget,
ClientLayerManager* aLayerManager,
CSSToLayoutDeviceScale aScale,
bool aUseAPZ,
@@ -66,15 +66,16 @@ CompositorSession::GetCompositorBridgeChild()
return mCompositorBridgeChild;
}
InProcessCompositorSession::InProcessCompositorSession(widget::CompositorWidget* aWidget,
InProcessCompositorSession::InProcessCompositorSession(nsIWidget* aWidget,
ClientLayerManager* aLayerManager,
CSSToLayoutDeviceScale aScale,
bool aUseAPZ,
bool aUseExternalSurfaceSize,
const gfx::IntSize& aSurfaceSize)
{
mCompositorWidget = aWidget->NewCompositorWidget();
mCompositorBridgeParent = new CompositorBridgeParent(
aWidget,
mCompositorWidget,
aScale,
aUseAPZ,
aUseExternalSurfaceSize,
@@ -118,6 +119,7 @@ InProcessCompositorSession::Shutdown()
mCompositorBridgeChild->Destroy();
mCompositorBridgeChild = nullptr;
mCompositorBridgeParent = nullptr;
mCompositorWidget = nullptr;
}
} // namespace layers