コード例 #1
0
PLayerTransactionChild*
CompositorChild::AllocPLayerTransactionChild(const nsTArray<LayersBackend>& aBackendHints,
                                             const uint64_t& aId,
                                             TextureFactoryIdentifier*,
                                             bool*)
{
  LayerTransactionChild* c = new LayerTransactionChild();
  c->AddIPDLReference();
  return c;
}
コード例 #2
0
void
CompositorChild::Destroy()
{
  mLayerManager->Destroy();
  mLayerManager = nullptr;
  while (size_t len = ManagedPLayerTransactionChild().Length()) {
    LayerTransactionChild* layers =
      static_cast<LayerTransactionChild*>(ManagedPLayerTransactionChild()[len - 1]);
    layers->Destroy();
  }
  SendStop();
}
コード例 #3
0
static void
SendLayersDependentApzcTargetConfirmation(nsIPresShell* aShell, uint64_t aInputBlockId,
                                          const nsTArray<ScrollableLayerGuid>& aTargets)
{
  LayerManager* lm = aShell->GetLayerManager();
  if (!lm) {
    return;
  }

  LayerTransactionChild* shadow = lm->AsShadowForwarder()->GetShadowManager();
  if (!shadow) {
    return;
  }

  shadow->SendSetConfirmedTargetAPZC(aInputBlockId, aTargets);
}
コード例 #4
0
void
RenderFrameChild::Destroy()
{
    size_t numChildren = ManagedPLayerTransactionChild().Length();
    NS_ABORT_IF_FALSE(0 == numChildren || 1 == numChildren,
                      "render frame must only have 0 or 1 layer forwarder");

    if (numChildren) {
        LayerTransactionChild* layers =
            static_cast<LayerTransactionChild*>(ManagedPLayerTransactionChild()[0]);
        layers->Destroy();
        // |layers| was just deleted, take care
    }

    Send__delete__(this);
    // WARNING: |this| is dead, hands off
}