Changeset 245370 in webkit


Ignore:
Timestamp:
May 15, 2019 7:51:12 PM (5 years ago)
Author:
Simon Fraser
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):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r245368 r245370  
    6969        * loader/PingLoader.cpp:
    7070        (WebCore::PingLoader::sendPing):
     71
     722019-05-15  Simon Fraser  <simon.fraser@apple.com>
     73
     74        Make LayerOverlapMap able to output to a TextStream
     75        https://bugs.webkit.org/show_bug.cgi?id=197923
     76
     77        Reviewed by Zalan Bujtas.
     78
     79        Make it possible output LayerOverlapMap to a TextStream for logging.
     80
     81        * rendering/LayerOverlapMap.cpp:
     82        (WebCore::OverlapMapContainer::rectList const):
     83        (WebCore::operator<<):
     84        * rendering/LayerOverlapMap.h:
     85        (WebCore::LayerOverlapMap::overlapStack const):
    7186
    72872019-05-15  Youenn Fablet  <youenn@apple.com>
  • trunk/Source/WebCore/rendering/LayerOverlapMap.cpp

    r245326 r245370  
    2626#include "config.h"
    2727#include "LayerOverlapMap.h"
     28#include <wtf/text/TextStream.h>
    2829
    2930namespace WebCore {
     
    7475        m_rectList.append(otherContainer.m_rectList);
    7576    }
     77   
     78    const RectList& rectList() const { return m_rectList; }
    7679
    7780private:
     
    116119}
    117120
     121static TextStream& operator<<(TextStream& ts, const RectList& rectList)
     122{
     123    ts << "bounds " << rectList.boundingRect << " (" << rectList.rects << " rects)";
     124    return ts;
     125}
     126
     127static TextStream& operator<<(TextStream& ts, const OverlapMapContainer& container)
     128{
     129    ts << container.rectList();
     130    return ts;
     131}
     132
     133TextStream& operator<<(TextStream& ts, const LayerOverlapMap& overlapMap)
     134{
     135    TextStream multilineStream;
     136
     137    TextStream::GroupScope scope(ts);
     138    multilineStream << indent << "LayerOverlapMap\n";
     139
     140    for (auto& container : overlapMap.overlapStack())
     141        multilineStream << "  " << *container << "\n";
     142
     143    ts << multilineStream.release();
     144    return ts;
     145}
     146
    118147} // namespace WebCore
  • trunk/Source/WebCore/rendering/LayerOverlapMap.h

    r245326 r245370  
    2929#include "RenderGeometryMap.h"
    3030
     31namespace WTF {
     32class TextStream;
     33}
     34
    3135namespace WebCore {
    3236
     
    4953    RenderGeometryMap& geometryMap() { return m_geometryMap; }
    5054
     55    const Vector<std::unique_ptr<OverlapMapContainer>>& overlapStack() const { return m_overlapStack; }
     56
    5157private:
    5258    Vector<std::unique_ptr<OverlapMapContainer>> m_overlapStack;
     
    5561};
    5662
     63TextStream& operator<<(TextStream&, const LayerOverlapMap&);
     64
    5765} // namespace WebCore
Note: See TracChangeset for help on using the changeset viewer.