Index: third_party/WebKit/Source/core/editing/markers/TextMatchMarker.cpp |
diff --git a/third_party/WebKit/Source/core/editing/markers/TextMatchMarker.cpp b/third_party/WebKit/Source/core/editing/markers/TextMatchMarker.cpp |
index 096b8a5ed3d80710313e7059714143a2abf0a163..c099c89029b73e6585477fc5518ed441fbd7b9d7 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/TextMatchMarker.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/TextMatchMarker.cpp |
@@ -6,8 +6,58 @@ |
namespace blink { |
+TextMatchMarker::TextMatchMarker(unsigned start_offset, |
+ unsigned end_offset, |
+ MatchStatus status) |
+ : DocumentMarker(start_offset, end_offset), match_status_(status) { |
+ layout_state_ = State::kInvalid; |
Xiaocheng
2017/06/01 21:42:49
nit: This should be in the member initialization l
rlanday
2017/06/01 21:48:13
yosin previously requested initializing this outsi
Xiaocheng
2017/06/01 22:12:49
I think what he meant is to put the initialization
|
+} |
+ |
DocumentMarker::MarkerType TextMatchMarker::GetType() const { |
return DocumentMarker::kTextMatch; |
} |
+bool TextMatchMarker::IsActiveMatch() const { |
+ return match_status_ == MatchStatus::kActive; |
+} |
+ |
+void TextMatchMarker::SetIsActiveMatch(bool active) { |
+ match_status_ = active ? MatchStatus::kActive : MatchStatus::kInactive; |
+} |
+ |
+bool TextMatchMarker::IsRendered() const { |
+ return layout_state_ == State::kValidNotNull; |
+} |
+ |
+bool TextMatchMarker::Contains(const LayoutPoint& point) const { |
+ DCHECK_EQ(layout_state_, State::kValidNotNull); |
+ return rendered_rect_.Contains(point); |
+} |
+ |
+void TextMatchMarker::SetRenderedRect(const LayoutRect& rect) { |
+ if (layout_state_ == State::kValidNotNull && rect == rendered_rect_) |
+ return; |
+ layout_state_ = State::kValidNotNull; |
+ rendered_rect_ = rect; |
+} |
+ |
+const LayoutRect& TextMatchMarker::RenderedRect() const { |
+ DCHECK_EQ(layout_state_, State::kValidNotNull); |
+ return rendered_rect_; |
+} |
+ |
+void TextMatchMarker::NullifyRenderedRect() { |
+ layout_state_ = State::kValidNull; |
+ // Now |m_renderedRect| can not be accessed until |setRenderedRect| is |
+ // called. |
+} |
+ |
+void TextMatchMarker::Invalidate() { |
+ layout_state_ = State::kInvalid; |
+} |
+ |
+bool TextMatchMarker::IsValid() const { |
+ return layout_state_ != State::kInvalid; |
+} |
+ |
} // namespace blink |