Title: [245370] trunk/Source/WebCore
Revision
245370
Author
[email protected]
Date
2019-05-15 19:51:12 -0700 (Wed, 15 May 2019)

Log Message

Make LayerOverlapMap able to output to a TextStream
https://bugs.webkit.org/show_bug.cgi?id=197923

Reviewed by Zalan Bujtas.

Make it possible output LayerOverlapMap to a TextStream for logging.

* rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::rectList const):
(WebCore::operator<<):
* rendering/LayerOverlapMap.h:
(WebCore::LayerOverlapMap::overlapStack const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (245369 => 245370)


--- trunk/Source/WebCore/ChangeLog	2019-05-16 01:30:18 UTC (rev 245369)
+++ trunk/Source/WebCore/ChangeLog	2019-05-16 02:51:12 UTC (rev 245370)
@@ -69,6 +69,21 @@
         * loader/PingLoader.cpp:
         (WebCore::PingLoader::sendPing):
 
+2019-05-15  Simon Fraser  <[email protected]>
+
+        Make LayerOverlapMap able to output to a TextStream
+        https://bugs.webkit.org/show_bug.cgi?id=197923
+
+        Reviewed by Zalan Bujtas.
+
+        Make it possible output LayerOverlapMap to a TextStream for logging.
+
+        * rendering/LayerOverlapMap.cpp:
+        (WebCore::OverlapMapContainer::rectList const):
+        (WebCore::operator<<):
+        * rendering/LayerOverlapMap.h:
+        (WebCore::LayerOverlapMap::overlapStack const):
+
 2019-05-15  Youenn Fablet  <[email protected]>
 
         getUserMedia sandbox extensions should not be revoked when a getUserMedia allowed request is being processed

Modified: trunk/Source/WebCore/rendering/LayerOverlapMap.cpp (245369 => 245370)


--- trunk/Source/WebCore/rendering/LayerOverlapMap.cpp	2019-05-16 01:30:18 UTC (rev 245369)
+++ trunk/Source/WebCore/rendering/LayerOverlapMap.cpp	2019-05-16 02:51:12 UTC (rev 245370)
@@ -25,6 +25,7 @@
 
 #include "config.h"
 #include "LayerOverlapMap.h"
+#include <wtf/text/TextStream.h>
 
 namespace WebCore {
 
@@ -73,6 +74,8 @@
     {
         m_rectList.append(otherContainer.m_rectList);
     }
+    
+    const RectList& rectList() const { return m_rectList; }
 
 private:
     RectList m_rectList;
@@ -115,4 +118,30 @@
     m_overlapStack.removeLast();
 }
 
+static TextStream& operator<<(TextStream& ts, const RectList& rectList)
+{
+    ts << "bounds " << rectList.boundingRect << " (" << rectList.rects << " rects)";
+    return ts;
+}
+
+static TextStream& operator<<(TextStream& ts, const OverlapMapContainer& container)
+{
+    ts << container.rectList();
+    return ts;
+}
+
+TextStream& operator<<(TextStream& ts, const LayerOverlapMap& overlapMap)
+{
+    TextStream multilineStream;
+
+    TextStream::GroupScope scope(ts);
+    multilineStream << indent << "LayerOverlapMap\n";
+
+    for (auto& container : overlapMap.overlapStack())
+        multilineStream << "  " << *container << "\n";
+
+    ts << multilineStream.release();
+    return ts;
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/rendering/LayerOverlapMap.h (245369 => 245370)


--- trunk/Source/WebCore/rendering/LayerOverlapMap.h	2019-05-16 01:30:18 UTC (rev 245369)
+++ trunk/Source/WebCore/rendering/LayerOverlapMap.h	2019-05-16 02:51:12 UTC (rev 245370)
@@ -28,6 +28,10 @@
 #include "LayoutRect.h"
 #include "RenderGeometryMap.h"
 
+namespace WTF {
+class TextStream;
+}
+
 namespace WebCore {
 
 class OverlapMapContainer;
@@ -48,6 +52,8 @@
     const RenderGeometryMap& geometryMap() const { return m_geometryMap; }
     RenderGeometryMap& geometryMap() { return m_geometryMap; }
 
+    const Vector<std::unique_ptr<OverlapMapContainer>>& overlapStack() const { return m_overlapStack; }
+
 private:
     Vector<std::unique_ptr<OverlapMapContainer>> m_overlapStack;
     RenderGeometryMap m_geometryMap;
@@ -54,4 +60,6 @@
     bool m_isEmpty { true };
 };
 
+TextStream& operator<<(TextStream&, const LayerOverlapMap&);
+
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to