summaryrefslogtreecommitdiffstats
path: root/gfx/layers/composite/AsyncCompositionManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/layers/composite/AsyncCompositionManager.cpp')
-rw-r--r--gfx/layers/composite/AsyncCompositionManager.cpp115
1 files changed, 6 insertions, 109 deletions
diff --git a/gfx/layers/composite/AsyncCompositionManager.cpp b/gfx/layers/composite/AsyncCompositionManager.cpp
index cb6b23b0c..e1938392f 100644
--- a/gfx/layers/composite/AsyncCompositionManager.cpp
+++ b/gfx/layers/composite/AsyncCompositionManager.cpp
@@ -38,10 +38,6 @@
#include "nsTArrayForwardDeclare.h" // for InfallibleTArray
#include "UnitTransforms.h" // for TransformTo
#include "gfxPrefs.h"
-#if defined(MOZ_WIDGET_ANDROID)
-# include <android/log.h>
-# include "mozilla/widget/AndroidCompositorWidget.h"
-#endif
#include "GeckoProfiler.h"
#include "FrameUniformityData.h"
#include "TreeTraversal.h" // for ForEachNode, BreadthFirstSearch
@@ -825,11 +821,7 @@ ExpandRootClipRect(Layer* aLayer, const ScreenMargin& aFixedLayerMargins)
// clear the clip rect on aLayer entirely but this seems more precise.
Maybe<ParentLayerIntRect> rootClipRect = aLayer->AsLayerComposite()->GetShadowClipRect();
if (rootClipRect && aFixedLayerMargins != ScreenMargin()) {
-#ifndef MOZ_WIDGET_ANDROID
- // We should never enter here on anything other than Fennec, since
- // aFixedLayerMargins should be empty everywhere else.
- MOZ_ASSERT(false);
-#endif
+ MOZ_ASSERT(false, "aFixedLayerMargins should be empty!");
ParentLayerRect rect(rootClipRect.value());
rect.Deflate(ViewAs<ParentLayerPixel>(aFixedLayerMargins,
PixelCastJustification::ScreenIsParentLayerForRoot));
@@ -837,40 +829,6 @@ ExpandRootClipRect(Layer* aLayer, const ScreenMargin& aFixedLayerMargins)
}
}
-#ifdef MOZ_WIDGET_ANDROID
-static void
-MoveScrollbarForLayerMargin(Layer* aRoot, FrameMetrics::ViewID aRootScrollId,
- const ScreenMargin& aFixedLayerMargins)
-{
- // See bug 1223928 comment 9 - once we can detect the RCD with just the
- // isRootContent flag on the metrics, we can probably move this code into
- // ApplyAsyncTransformToScrollbar rather than having it as a separate
- // adjustment on the layer tree.
- Layer* scrollbar = BreadthFirstSearch<ReverseIterator>(aRoot,
- [aRootScrollId](Layer* aNode) {
- return (aNode->GetScrollbarDirection() == Layer::HORIZONTAL &&
- aNode->GetScrollbarTargetContainerId() == aRootScrollId);
- });
- if (scrollbar) {
- // Shift the horizontal scrollbar down into the new space exposed by the
- // dynamic toolbar hiding. Technically we should also scale the vertical
- // scrollbar a bit to expand into the new space but it's not as noticeable
- // and it would add a lot more complexity, so we're going with the "it's not
- // worth it" justification.
- TranslateShadowLayer(scrollbar, ParentLayerPoint(0, -aFixedLayerMargins.bottom), true, nullptr);
- if (scrollbar->GetParent()) {
- // The layer that has the HORIZONTAL direction sits inside another
- // ContainerLayer. This ContainerLayer also has a clip rect that causes
- // the scrollbar to get clipped. We need to expand that clip rect to
- // prevent that from happening. This is kind of ugly in that we're
- // assuming a particular layer tree structure but short of adding more
- // flags to the layer there doesn't appear to be a good way to do this.
- ExpandRootClipRect(scrollbar->GetParent(), aFixedLayerMargins);
- }
- }
-}
-#endif
-
bool
AsyncCompositionManager::ApplyAsyncContentTransformToTree(Layer *aLayer,
bool* aOutFoundRoot)
@@ -974,50 +932,9 @@ AsyncCompositionManager::ApplyAsyncContentTransformToTree(Layer *aLayer,
const ScrollMetadata& scrollMetadata = layer->GetScrollMetadata(i);
const FrameMetrics& metrics = scrollMetadata.GetMetrics();
-#if defined(MOZ_WIDGET_ANDROID)
- // If we find a metrics which is the root content doc, use that. If not, use
- // the root layer. Since this function recurses on children first we should
- // only end up using the root layer if the entire tree was devoid of a
- // root content metrics. This is a temporary solution; in the long term we
- // should not need the root content metrics at all. See bug 1201529 comment
- // 6 for details.
- if (!(*aOutFoundRoot)) {
- *aOutFoundRoot = metrics.IsRootContent() || /* RCD */
- (layer->GetParent() == nullptr && /* rootmost metrics */
- i + 1 >= layer->GetScrollMetadataCount());
- if (*aOutFoundRoot) {
- mRootScrollableId = metrics.GetScrollId();
- CSSToLayerScale geckoZoom = metrics.LayersPixelsPerCSSPixel().ToScaleFactor();
- if (mIsFirstPaint) {
- LayerIntPoint scrollOffsetLayerPixels = RoundedToInt(metrics.GetScrollOffset() * geckoZoom);
- mContentRect = metrics.GetScrollableRect();
- SetFirstPaintViewport(scrollOffsetLayerPixels,
- geckoZoom,
- mContentRect);
- } else {
- ParentLayerPoint scrollOffset = controller->GetCurrentAsyncScrollOffset(
- AsyncPanZoomController::RESPECT_FORCE_DISABLE);
- // Compute the painted displayport in document-relative CSS pixels.
- CSSRect displayPort(metrics.GetCriticalDisplayPort().IsEmpty() ?
- metrics.GetDisplayPort() :
- metrics.GetCriticalDisplayPort());
- displayPort += metrics.GetScrollOffset();
- SyncFrameMetrics(scrollOffset,
- geckoZoom * asyncTransformWithoutOverscroll.mScale,
- metrics.GetScrollableRect(), displayPort, geckoZoom, mLayersUpdated,
- mPaintSyncId, fixedLayerMargins);
- mFixedLayerMargins = fixedLayerMargins;
- mLayersUpdated = false;
- mPaintSyncId = 0;
- }
- mIsFirstPaint = false;
- }
- }
-#else
- // Non-Android platforms still care about this flag being cleared after
+ // We still care about this flag being cleared after
// the first call to TransformShadowTree().
mIsFirstPaint = false;
-#endif
// Transform the current local clips by this APZC's async transform. If we're
// using containerful scrolling, then the clip is not part of the scrolled
@@ -1420,12 +1337,8 @@ AsyncCompositionManager::TransformShadowTree(TimeStamp aCurrentFrame,
// in Gecko and partially in Java.
bool foundRoot = false;
if (ApplyAsyncContentTransformToTree(root, &foundRoot)) {
-#if defined(MOZ_WIDGET_ANDROID)
- MOZ_ASSERT(foundRoot);
- if (foundRoot && mFixedLayerMargins != ScreenMargin()) {
- MoveScrollbarForLayerMargin(root, mRootScrollableId, mFixedLayerMargins);
- }
-#endif
+ // Fixed margin considerations should go here, but we never encounter
+ // those outside of mobile.
}
// Advance APZ animations to the next expected vsync timestamp, if we can
@@ -1458,14 +1371,7 @@ AsyncCompositionManager::SetFirstPaintViewport(const LayerIntPoint& aOffset,
const CSSToLayerScale& aZoom,
const CSSRect& aCssPageRect)
{
-#ifdef MOZ_WIDGET_ANDROID
- widget::AndroidCompositorWidget* widget =
- mLayerManager->GetCompositor()->GetWidget()->AsAndroid();
- if (!widget) {
- return;
- }
- widget->SetFirstPaintViewport(aOffset, aZoom, aCssPageRect);
-#endif
+ // ** STUB **
}
void
@@ -1478,16 +1384,7 @@ AsyncCompositionManager::SyncFrameMetrics(const ParentLayerPoint& aScrollOffset,
int32_t aPaintSyncId,
ScreenMargin& aFixedLayerMargins)
{
-#ifdef MOZ_WIDGET_ANDROID
- widget::AndroidCompositorWidget* widget =
- mLayerManager->GetCompositor()->GetWidget()->AsAndroid();
- if (!widget) {
- return;
- }
- widget->SyncFrameMetrics(
- aScrollOffset, aZoom, aCssPageRect, aDisplayPort, aPaintedResolution,
- aLayersUpdated, aPaintSyncId, aFixedLayerMargins);
-#endif
+ // ** STUB **
}
} // namespace layers