#define GraphicsLayerDebugInfo_h
#include "platform/JSONValues.h"
+#include "platform/geometry/FloatRect.h"
#include "platform/geometry/LayoutRect.h"
#include "platform/graphics/CompositingReasons.h"
+#include "platform/graphics/PaintInvalidationReason.h"
#include "public/platform/WebGraphicsLayerDebugInfo.h"
-#include "public/platform/WebInvalidationDebugAnnotations.h"
#include "wtf/Vector.h"
namespace blink {
-class GraphicsLayerDebugInfo FINAL : public WebGraphicsLayerDebugInfo {
+class GraphicsLayerDebugInfo final : public WebGraphicsLayerDebugInfo {
public:
GraphicsLayerDebugInfo();
virtual ~GraphicsLayerDebugInfo();
- virtual void appendAsTraceFormat(WebString* out) const OVERRIDE;
- virtual void getAnnotatedInvalidationRects(WebVector<WebAnnotatedInvalidationRect>& rects) const OVERRIDE;
+ virtual void appendAsTraceFormat(WebString* out) const override;
GraphicsLayerDebugInfo* clone() const;
void setOwnerNodeId(int id) { m_ownerNodeId = id; }
Vector<LayoutRect>& currentLayoutRects() { return m_currentLayoutRects; }
- void appendAnnotatedInvalidateRect(const FloatRect&, WebInvalidationDebugAnnotations);
+ void appendAnnotatedInvalidateRect(const FloatRect&, PaintInvalidationReason);
void clearAnnotatedInvalidateRects();
private:
void appendLayoutRects(JSONObject*) const;
+ void appendAnnotatedInvalidateRects(JSONObject*) const;
void appendCompositingReasons(JSONObject*) const;
void appendDebugName(JSONObject*) const;
void appendOwnerNodeId(JSONObject*) const;
+ struct AnnotatedInvalidationRect {
+ FloatRect rect;
+ PaintInvalidationReason reason;
+ };
+
String m_debugName;
CompositingReasons m_compositingReasons;
int m_ownerNodeId;
Vector<LayoutRect> m_currentLayoutRects;
- Vector<WebAnnotatedInvalidationRect> m_invalidations;
+ Vector<AnnotatedInvalidationRect> m_invalidations;
+ Vector<AnnotatedInvalidationRect> m_previousInvalidations;
};
} // namespace blink