Commit fb858bb3 authored by Ryan Hunt's avatar Ryan Hunt
Browse files

Bug 1519546, part 1 - Simplify layer casts in nsDisplayRemote::BuildLayer. r=mattwoodrow

Differential Revision: https://phabricator.services.mozilla.com/D32475

--HG--
extra : rebase_source : 7964f8e608998653beff2d80d5f85bd86e1ba3c2
extra : intermediate-source : f130b7ac02660207e4f66cf6a13f7c1aa6e3bbb6
extra : source : 762e617026b777cec27f4ca695822a67beca52db
parent f8b11433
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -223,14 +223,13 @@ already_AddRefed<Layer> nsDisplayRemote::BuildLayer(
  if (!layer) {
    layer = aManager->CreateRefLayer();
  }

  if (!layer) {
  if (!layer || !layer->AsRefLayer()) {
    // Probably a temporary layer manager that doesn't know how to
    // use ref layers.
    return nullptr;
  }
  RefLayer* refLayer = layer->AsRefLayer();

  static_cast<RefLayer*>(layer.get())->SetReferentId(mLayersId);
  LayoutDeviceIntPoint offset = GetContentRectLayerOffset(Frame(), aBuilder);
  // We can only have an offset if we're a child of an inactive
  // container, but our display item is LAYER_ACTIVE_FORCE which
@@ -240,11 +239,9 @@ already_AddRefed<Layer> nsDisplayRemote::BuildLayer(
  // Remote content can't be repainted by us, so we multiply down
  // the resolution that our container expects onto our container.
  m.PreScale(aContainerParameters.mXScale, aContainerParameters.mYScale, 1.0);
  layer->SetBaseTransform(m);

  if (layer->AsRefLayer()) {
    layer->AsRefLayer()->SetEventRegionsOverride(mEventRegionsOverride);
  }
  refLayer->SetBaseTransform(m);
  refLayer->SetEventRegionsOverride(mEventRegionsOverride);
  refLayer->SetReferentId(mLayersId);

  return layer.forget();
}