Index: Source/core/dom/RenderedDocumentMarker.h |
diff --git a/Source/core/dom/RenderedDocumentMarker.h b/Source/core/dom/RenderedDocumentMarker.h |
index ceb6cb5f360488e316c21708c9568bf9984fbe05..1edb9dd4309d8b44ae718c75a4d15cd99793f92b 100644 |
--- a/Source/core/dom/RenderedDocumentMarker.h |
+++ b/Source/core/dom/RenderedDocumentMarker.h |
@@ -41,10 +41,18 @@ public: |
bool isRendered() const { return invalidMarkerRect() != m_renderedRect; } |
bool contains(const LayoutPoint& point) const { return isRendered() && m_renderedRect.contains(point); } |
- void setRenderedRect(const LayoutRect& r) { m_renderedRect = r.isEmpty() ? invalidMarkerRect() : r; } |
+ bool setRenderedRect(const LayoutRect& r) |
+ { |
+ const LayoutRect& rect = r.isEmpty() ? invalidMarkerRect() : r; |
+ if (rect == m_renderedRect) |
+ return false; |
+ m_renderedRect = rect; |
+ return true; |
+ } |
+ |
const LayoutRect& renderedRect() const { return m_renderedRect; } |
- void invalidateRenderedRect() { m_renderedRect = invalidMarkerRect(); } |
+ bool invalidateRenderedRect() { return setRenderedRect(invalidMarkerRect()); } |
private: |
explicit RenderedDocumentMarker(const DocumentMarker& marker) |