Bug 951793 - Add overscroll-behavior to the layer dump. r=kats
MozReview-Commit-ID: 629DKmrbVIi
--- a/gfx/layers/LayersLogging.cpp
+++ b/gfx/layers/LayersLogging.cpp
@@ -173,31 +173,65 @@ AppendToString(std::stringstream& aStrea
}
if (!e.mVerticalPanRegion.IsEmpty()) {
AppendToString(aStream, e.mVerticalPanRegion, " VerticalPanRegion=", "");
}
aStream << "}" << sfx;
}
void
+AppendToString(std::stringstream& aStream, OverscrollBehavior aBehavior,
+ const char* pfx, const char* sfx)
+{
+ aStream << pfx;
+ switch (aBehavior) {
+ case OverscrollBehavior::Auto: {
+ aStream << "auto";
+ break;
+ }
+ case OverscrollBehavior::Contain: {
+ aStream << "contain";
+ break;
+ }
+ case OverscrollBehavior::None: {
+ aStream << "none";
+ break;
+ }
+ }
+ aStream << sfx;
+}
+
+void
AppendToString(std::stringstream& aStream, const ScrollMetadata& m,
const char* pfx, const char* sfx)
{
aStream << pfx;
AppendToString(aStream, m.GetMetrics(), "{ [metrics=");
AppendToString(aStream, m.GetBackgroundColor(), "] [color=");
if (m.GetScrollParentId() != FrameMetrics::NULL_SCROLL_ID) {
AppendToString(aStream, m.GetScrollParentId(), "] [scrollParent=");
}
if (m.HasScrollClip()) {
AppendToString(aStream, m.ScrollClip().GetClipRect(), "] [clip=");
}
if (m.HasMaskLayer()) {
AppendToString(aStream, m.ScrollClip().GetMaskLayerIndex().value(), "] [mask=");
}
+ OverscrollBehavior overscrollX = m.GetOverscrollBehavior().mBehaviorX;
+ OverscrollBehavior overscrollY = m.GetOverscrollBehavior().mBehaviorY;
+ if (overscrollX == overscrollY && overscrollX != OverscrollBehavior::Auto) {
+ AppendToString(aStream, overscrollX, "] [overscroll=");
+ } else {
+ if (overscrollX != OverscrollBehavior::Auto) {
+ AppendToString(aStream, overscrollX, "] [overscroll-x=");
+ }
+ if (overscrollY != OverscrollBehavior::Auto) {
+ AppendToString(aStream, overscrollY, "] [overscroll-y=");
+ }
+ }
aStream << "] }" << sfx;
}
void
AppendToString(std::stringstream& aStream, const FrameMetrics& m,
const char* pfx, const char* sfx, bool detailed)
{
aStream << pfx;
--- a/gfx/layers/LayersLogging.h
+++ b/gfx/layers/LayersLogging.h
@@ -167,16 +167,20 @@ AppendToString(std::stringstream& aStrea
aStream << ", covers=" << r.CoversBounds() << ")" << sfx;
}
void
AppendToString(std::stringstream& aStream, const EventRegions& e,
const char* pfx="", const char* sfx="");
void
+AppendToString(std::stringstream& aStream, OverscrollBehavior aBehavior,
+ const char* pfx="", const char* sfx="");
+
+void
AppendToString(std::stringstream& aStream, const ScrollMetadata& m,
const char* pfx="", const char* sfx="");
void
AppendToString(std::stringstream& aStream, const FrameMetrics& m,
const char* pfx="", const char* sfx="", bool detailed = false);
void