Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: Source/core/dom/RenderedDocumentMarker.h

Issue 1053123007: Invalidate paint of tickmarks on document change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/dom/DocumentMarkerController.cpp ('k') | Source/core/frame/FrameView.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Neither the name of Google Inc. nor the names of its 10 * * Neither the name of Google Inc. nor the names of its
(...skipping 23 matching lines...) Expand all
34 34
35 class RenderedDocumentMarker final : public DocumentMarker { 35 class RenderedDocumentMarker final : public DocumentMarker {
36 public: 36 public:
37 static PassOwnPtrWillBeRawPtr<RenderedDocumentMarker> create(const DocumentM arker& marker) 37 static PassOwnPtrWillBeRawPtr<RenderedDocumentMarker> create(const DocumentM arker& marker)
38 { 38 {
39 return adoptPtrWillBeNoop(new RenderedDocumentMarker(marker)); 39 return adoptPtrWillBeNoop(new RenderedDocumentMarker(marker));
40 } 40 }
41 41
42 bool isRendered() const { return invalidMarkerRect() != m_renderedRect; } 42 bool isRendered() const { return invalidMarkerRect() != m_renderedRect; }
43 bool contains(const LayoutPoint& point) const { return isRendered() && m_ren deredRect.contains(point); } 43 bool contains(const LayoutPoint& point) const { return isRendered() && m_ren deredRect.contains(point); }
44 void setRenderedRect(const LayoutRect& r) { m_renderedRect = r.isEmpty() ? i nvalidMarkerRect() : r; } 44 bool setRenderedRect(const LayoutRect& r)
45 {
46 const LayoutRect& rect = r.isEmpty() ? invalidMarkerRect() : r;
47 if (rect == m_renderedRect)
48 return false;
49 m_renderedRect = rect;
50 return true;
51 }
52
45 const LayoutRect& renderedRect() const { return m_renderedRect; } 53 const LayoutRect& renderedRect() const { return m_renderedRect; }
46 54
47 void invalidateRenderedRect() { m_renderedRect = invalidMarkerRect(); } 55 bool invalidateRenderedRect() { return setRenderedRect(invalidMarkerRect()); }
48 56
49 private: 57 private:
50 explicit RenderedDocumentMarker(const DocumentMarker& marker) 58 explicit RenderedDocumentMarker(const DocumentMarker& marker)
51 : DocumentMarker(marker) 59 : DocumentMarker(marker)
52 , m_renderedRect(invalidMarkerRect()) 60 , m_renderedRect(invalidMarkerRect())
53 { 61 {
54 } 62 }
55 63
56 static const LayoutRect& invalidMarkerRect() 64 static const LayoutRect& invalidMarkerRect()
57 { 65 {
58 static const LayoutRect rect = LayoutRect(-1, -1, -1, -1); 66 static const LayoutRect rect = LayoutRect(-1, -1, -1, -1);
59 return rect; 67 return rect;
60 } 68 }
61 69
62 LayoutRect m_renderedRect; 70 LayoutRect m_renderedRect;
63 }; 71 };
64 72
65 DEFINE_TYPE_CASTS(RenderedDocumentMarker, DocumentMarker, marker, true, true); 73 DEFINE_TYPE_CASTS(RenderedDocumentMarker, DocumentMarker, marker, true, true);
66 74
67 } // namespace blink 75 } // namespace blink
68 76
69 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::RenderedDocumentMarker ); 77 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::RenderedDocumentMarker );
70 78
71 #endif 79 #endif
OLDNEW
« no previous file with comments | « Source/core/dom/DocumentMarkerController.cpp ('k') | Source/core/frame/FrameView.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698