Commit 9640d7f5 authored by criss's avatar criss
Browse files

Backed out 10 changesets (bug 1714138, bug 1542929, bug 1728232, bug 1729236,...

Backed out 10 changesets (bug 1714138, bug 1542929, bug 1728232, bug 1729236, bug 1728258, bug 1728251, bug 1728050) for causing bug 1424348 a=backout

Backed out changeset c5b71e6ce0e5 (bug 1729236)
Backed out changeset c6bcc4ed3d2e (bug 1729236)
Backed out changeset 7e292895282a (bug 1729236)
Backed out changeset d9ddd915e0c2 (bug 1714138)
Backed out changeset 82b98d2f0dcf (bug 1728258)
Backed out changeset 9a84a36b9dc4 (bug 1542929)
Backed out changeset 96be978630ff (bug 1728251)
Backed out changeset d7a8bf19d849 (bug 1728251)
Backed out changeset cce0c53b439f (bug 1728232)
Backed out changeset 3afd6aee7849 (bug 1728050)
parent 223d5b8e
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -274,8 +274,8 @@ Maybe<wr::WrSpatialId> ClipManager::DefineScrollLayers(
      DefineScrollLayers(aASR->mParent, aItem);

  Maybe<ScrollMetadata> metadata =
      aASR->mScrollableFrame->ComputeScrollMetadata(mManager, aItem->Frame(),
                                                    aItem->ToReferenceFrame());
      aASR->mScrollableFrame->ComputeScrollMetadata(mManager,
                                                    aItem->ReferenceFrame());
  if (!metadata) {
    MOZ_ASSERT_UNREACHABLE("Expected scroll metadata to be available!");
    return ancestorSpace;
@@ -289,8 +289,7 @@ Maybe<wr::WrSpatialId> ClipManager::DefineScrollLayers(

  nsIScrollableFrame* scrollableFrame = aASR->mScrollableFrame;
  nsIFrame* scrollFrame = do_QueryFrame(scrollableFrame);
  nsPoint offset = scrollFrame->GetOffsetToCrossDoc(aItem->Frame()) +
                   aItem->ToReferenceFrame();
  nsPoint offset = scrollFrame->GetOffsetToCrossDoc(aItem->ReferenceFrame());
  float auPerDevPixel = aItem->Frame()->PresContext()->AppUnitsPerDevPixel();
  nsRect scrollPort = scrollableFrame->GetScrollPortRect() + offset;
  LayoutDeviceRect clipBounds =
+0 −6
Original line number Diff line number Diff line
@@ -180,12 +180,6 @@ Maybe<uint16_t> DisplayItemCache::CanReuseItem(
    return Nothing();
  }

  if (mSuppressed) {
    slot.mOccupied = false;
    slotIndex = Nothing();
    return Nothing();
  }

  if (!(aSpaceAndClip == slot.mSpaceAndClip)) {
    // Spatial id and clip id can change between display lists, if items that
    // generate them change their order.
+3 −3
Original line number Diff line number Diff line
@@ -100,9 +100,9 @@ class DisplayItemCache final {
  /**
   * Suppress display item caching. This doesn't clear any existing cached
   * items or change the underlying capacity, it just makes IsEnabled() return
   * false.
   * It will also make CanReuseItem return false for the duration of the
   * suppression.
   * false. It is not meant to be flipped in the middle of a display list build,
   * but rather set before the display list build starts to suppress use of the
   * cache for that display list build.
   */
  bool SetSuppressed(bool aSuppressed) {
    if (aSuppressed == mSuppressed) {
+7 −14
Original line number Diff line number Diff line
@@ -1694,8 +1694,7 @@ void WebRenderCommandBuilder::CreateWebRenderCommands(
void WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList(
    nsDisplayList* aDisplayList, nsDisplayItem* aWrappingItem,
    nsDisplayListBuilder* aDisplayListBuilder, const StackingContextHelper& aSc,
    wr::DisplayListBuilder& aBuilder, wr::IpcResourceUpdateQueue& aResources,
    bool aNewClipList) {
    wr::DisplayListBuilder& aBuilder, wr::IpcResourceUpdateQueue& aResources) {
  if (mDoGrouping) {
    MOZ_RELEASE_ASSERT(
        aWrappingItem,
@@ -1716,9 +1715,7 @@ void WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList(
  }

  mDumpIndent++;
  if (aNewClipList) {
  mClipManager.BeginList(aSc);
  }

  bool apzEnabled = mManager->AsyncPanZoomEnabled();

@@ -1915,10 +1912,8 @@ void WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList(
  }

  mDumpIndent--;
  if (aNewClipList) {
  mClipManager.EndList(aSc);
}
}

void WebRenderCommandBuilder::PushOverrideForASR(
    const ActiveScrolledRoot* aASR, const wr::WrSpatialId& aSpatialId) {
@@ -2489,8 +2484,6 @@ Maybe<wr::ImageMask> WebRenderCommandBuilder::BuildWrMaskImage(

  nsPoint maskOffset = aMaskItem->ToReferenceFrame() - bounds.TopLeft();

  bool shouldHandleOpacity = aBuilder.GetInheritedOpacity() != 1.0f;

  nsRect dirtyRect;
  // If this mask item is being painted for the first time, some members of
  // WebRenderMaskData are still default initialized. This is intentional.
@@ -2498,7 +2491,7 @@ Maybe<wr::ImageMask> WebRenderCommandBuilder::BuildWrMaskImage(
      !itemRect.IsEqualInterior(maskData->mItemRect) ||
      !(aMaskItem->Frame()->StyleSVGReset()->mMask == maskData->mMaskStyle) ||
      maskOffset != maskData->mMaskOffset || !sameScale ||
      shouldHandleOpacity != maskData->mShouldHandleOpacity) {
      aMaskItem->ShouldHandleOpacity() != maskData->mShouldHandleOpacity) {
    IntSize size = itemRect.Size().ToUnknownSize();

    if (!Factory::AllowedSurfaceSize(size)) {
@@ -2542,8 +2535,8 @@ Maybe<wr::ImageMask> WebRenderCommandBuilder::BuildWrMaskImage(
                           .PreScale(scale.width, scale.height));

    bool maskPainted = false;
    bool maskIsComplete = aMaskItem->PaintMask(
        aDisplayListBuilder, context, shouldHandleOpacity, &maskPainted);
    bool maskIsComplete =
        aMaskItem->PaintMask(aDisplayListBuilder, context, &maskPainted);
    if (!maskPainted) {
      return Nothing();
    }
@@ -2594,7 +2587,7 @@ Maybe<wr::ImageMask> WebRenderCommandBuilder::BuildWrMaskImage(
      maskData->mMaskOffset = maskOffset;
      maskData->mScale = scale;
      maskData->mMaskStyle = aMaskItem->Frame()->StyleSVGReset()->mMask;
      maskData->mShouldHandleOpacity = shouldHandleOpacity;
      maskData->mShouldHandleOpacity = aMaskItem->ShouldHandleOpacity();
    }
  }

+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ class WebRenderCommandBuilder final {
      nsDisplayList* aDisplayList, nsDisplayItem* aWrappingItem,
      nsDisplayListBuilder* aDisplayListBuilder,
      const StackingContextHelper& aSc, wr::DisplayListBuilder& aBuilder,
      wr::IpcResourceUpdateQueue& aResources, bool aNewClipList = true);
      wr::IpcResourceUpdateQueue& aResources);

  // aWrappingItem has to be non-null.
  void DoGroupingForDisplayList(nsDisplayList* aDisplayList,
Loading