Chromium Code Reviews| Index: third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| index 7d90d5eebb902e2152207158bfe350be40685167..ffeff7da46c42c007682521df5753d26a7e5515d 100644 |
| --- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| +++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| @@ -321,6 +321,32 @@ class WebFrameTest : public ::testing::Test { |
| WebFrame* parent, |
| WebFrame* new_child); |
| + int NumMarkersInRange(const Document* document, |
| + const EphemeralRange& range, |
| + DocumentMarker::MarkerTypes marker_types) { |
| + Node* start_container = range.StartPosition().ComputeContainerNode(); |
| + unsigned start_offset = static_cast<unsigned>( |
| + range.StartPosition().ComputeOffsetInContainerNode()); |
| + |
| + Node* end_container = range.EndPosition().ComputeContainerNode(); |
| + unsigned end_offset = static_cast<unsigned>( |
| + range.EndPosition().ComputeOffsetInContainerNode()); |
| + |
| + int node_count = 0; |
| + for (Node& node : range.Nodes()) { |
| + for (DocumentMarker* marker : |
|
yosin_UTC9
2017/05/11 04:36:02
Can we use std::count_if()[1]?
[1] http://en.cppr
|
| + document->Markers().MarkersFor(&node, marker_types)) { |
| + if (node == start_container && marker->EndOffset() <= start_offset) |
| + continue; |
| + if (node == end_container && marker->StartOffset() >= end_offset) |
| + continue; |
| + ++node_count; |
| + } |
| + } |
| + |
| + return node_count; |
| + } |
| + |
| std::string base_url_; |
| std::string not_base_url_; |
| std::string chrome_url_; |
| @@ -6547,9 +6573,8 @@ TEST_P(ParameterizedWebFrameTest, ReplaceMisspelledRange) { |
| .ToNormalizedEphemeralRange(); |
| EXPECT_EQ(1, textcheck.NumberOfTimesChecked()); |
| - EXPECT_EQ(1U, document->Markers() |
| - .MarkersInRange(selection_range, DocumentMarker::kSpelling) |
| - .size()); |
| + EXPECT_EQ(1, NumMarkersInRange(document, selection_range, |
| + DocumentMarker::kSpelling)); |
| frame->ReplaceMisspelledRange("welcome"); |
| EXPECT_EQ("_welcome_.", |
| @@ -6596,9 +6621,8 @@ TEST_P(ParameterizedWebFrameTest, RemoveSpellingMarkers) { |
| .ComputeVisibleSelectionInDOMTreeDeprecated() |
| .ToNormalizedEphemeralRange(); |
| - EXPECT_EQ(0U, document->Markers() |
| - .MarkersInRange(selection_range, DocumentMarker::kSpelling) |
| - .size()); |
| + EXPECT_EQ(0, NumMarkersInRange(document, selection_range, |
| + DocumentMarker::kSpelling)); |
| } |
| static void GetSpellingMarkerOffsets(WebVector<unsigned>* offsets, |