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

Side by Side Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 2857173003: Remove DocumentMarkerController::MarkersInRange() (Closed)
Patch Set: Use std::find_if() Created 3 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 void SwapAndVerifyMiddleChildConsistency(const char* const message, 314 void SwapAndVerifyMiddleChildConsistency(const char* const message,
315 WebFrame* parent, 315 WebFrame* parent,
316 WebFrame* new_child); 316 WebFrame* new_child);
317 void SwapAndVerifyLastChildConsistency(const char* const message, 317 void SwapAndVerifyLastChildConsistency(const char* const message,
318 WebFrame* parent, 318 WebFrame* parent,
319 WebFrame* new_child); 319 WebFrame* new_child);
320 void SwapAndVerifySubframeConsistency(const char* const message, 320 void SwapAndVerifySubframeConsistency(const char* const message,
321 WebFrame* parent, 321 WebFrame* parent,
322 WebFrame* new_child); 322 WebFrame* new_child);
323 323
324 int NumMarkersInRange(const Document* document,
325 const EphemeralRange& range,
326 DocumentMarker::MarkerTypes marker_types) {
327 Node* start_container = range.StartPosition().ComputeContainerNode();
328 unsigned start_offset = static_cast<unsigned>(
329 range.StartPosition().ComputeOffsetInContainerNode());
330
331 Node* end_container = range.EndPosition().ComputeContainerNode();
332 unsigned end_offset = static_cast<unsigned>(
333 range.EndPosition().ComputeOffsetInContainerNode());
334
335 int node_count = 0;
336 for (Node& node : range.Nodes()) {
337 for (DocumentMarker* marker :
yosin_UTC9 2017/05/11 04:36:02 Can we use std::count_if()[1]? [1] http://en.cppr
338 document->Markers().MarkersFor(&node, marker_types)) {
339 if (node == start_container && marker->EndOffset() <= start_offset)
340 continue;
341 if (node == end_container && marker->StartOffset() >= end_offset)
342 continue;
343 ++node_count;
344 }
345 }
346
347 return node_count;
348 }
349
324 std::string base_url_; 350 std::string base_url_;
325 std::string not_base_url_; 351 std::string not_base_url_;
326 std::string chrome_url_; 352 std::string chrome_url_;
327 }; 353 };
328 354
329 typedef bool TestParamRootLayerScrolling; 355 typedef bool TestParamRootLayerScrolling;
330 class ParameterizedWebFrameTest 356 class ParameterizedWebFrameTest
331 : public ::testing::WithParamInterface<TestParamRootLayerScrolling>, 357 : public ::testing::WithParamInterface<TestParamRootLayerScrolling>,
332 private ScopedRootLayerScrollingForTest, 358 private ScopedRootLayerScrollingForTest,
333 public WebFrameTest { 359 public WebFrameTest {
(...skipping 6206 matching lines...) Expand 10 before | Expand all | Expand 10 after
6540 const int kAllTextBeginOffset = 0; 6566 const int kAllTextBeginOffset = 0;
6541 const int kAllTextLength = 11; 6567 const int kAllTextLength = 11;
6542 frame->SelectRange(WebRange(kAllTextBeginOffset, kAllTextLength)); 6568 frame->SelectRange(WebRange(kAllTextBeginOffset, kAllTextLength));
6543 EphemeralRange selection_range = 6569 EphemeralRange selection_range =
6544 frame->GetFrame() 6570 frame->GetFrame()
6545 ->Selection() 6571 ->Selection()
6546 .ComputeVisibleSelectionInDOMTreeDeprecated() 6572 .ComputeVisibleSelectionInDOMTreeDeprecated()
6547 .ToNormalizedEphemeralRange(); 6573 .ToNormalizedEphemeralRange();
6548 6574
6549 EXPECT_EQ(1, textcheck.NumberOfTimesChecked()); 6575 EXPECT_EQ(1, textcheck.NumberOfTimesChecked());
6550 EXPECT_EQ(1U, document->Markers() 6576 EXPECT_EQ(1, NumMarkersInRange(document, selection_range,
6551 .MarkersInRange(selection_range, DocumentMarker::kSpelling) 6577 DocumentMarker::kSpelling));
6552 .size());
6553 6578
6554 frame->ReplaceMisspelledRange("welcome"); 6579 frame->ReplaceMisspelledRange("welcome");
6555 EXPECT_EQ("_welcome_.", 6580 EXPECT_EQ("_welcome_.",
6556 WebFrameContentDumper::DumpWebViewAsText( 6581 WebFrameContentDumper::DumpWebViewAsText(
6557 web_view_helper.WebView(), std::numeric_limits<size_t>::max()) 6582 web_view_helper.WebView(), std::numeric_limits<size_t>::max())
6558 .Utf8()); 6583 .Utf8());
6559 } 6584 }
6560 6585
6561 TEST_P(ParameterizedWebFrameTest, RemoveSpellingMarkers) { 6586 TEST_P(ParameterizedWebFrameTest, RemoveSpellingMarkers) {
6562 RegisterMockedHttpURLLoad("spell.html"); 6587 RegisterMockedHttpURLLoad("spell.html");
(...skipping 26 matching lines...) Expand all
6589 6614
6590 const int kAllTextBeginOffset = 0; 6615 const int kAllTextBeginOffset = 0;
6591 const int kAllTextLength = 11; 6616 const int kAllTextLength = 11;
6592 frame->SelectRange(WebRange(kAllTextBeginOffset, kAllTextLength)); 6617 frame->SelectRange(WebRange(kAllTextBeginOffset, kAllTextLength));
6593 EphemeralRange selection_range = 6618 EphemeralRange selection_range =
6594 frame->GetFrame() 6619 frame->GetFrame()
6595 ->Selection() 6620 ->Selection()
6596 .ComputeVisibleSelectionInDOMTreeDeprecated() 6621 .ComputeVisibleSelectionInDOMTreeDeprecated()
6597 .ToNormalizedEphemeralRange(); 6622 .ToNormalizedEphemeralRange();
6598 6623
6599 EXPECT_EQ(0U, document->Markers() 6624 EXPECT_EQ(0, NumMarkersInRange(document, selection_range,
6600 .MarkersInRange(selection_range, DocumentMarker::kSpelling) 6625 DocumentMarker::kSpelling));
6601 .size());
6602 } 6626 }
6603 6627
6604 static void GetSpellingMarkerOffsets(WebVector<unsigned>* offsets, 6628 static void GetSpellingMarkerOffsets(WebVector<unsigned>* offsets,
6605 const Document& document) { 6629 const Document& document) {
6606 Vector<unsigned> result; 6630 Vector<unsigned> result;
6607 const DocumentMarkerVector& document_markers = document.Markers().Markers(); 6631 const DocumentMarkerVector& document_markers = document.Markers().Markers();
6608 for (size_t i = 0; i < document_markers.size(); ++i) 6632 for (size_t i = 0; i < document_markers.size(); ++i)
6609 result.push_back(document_markers[i]->StartOffset()); 6633 result.push_back(document_markers[i]->StartOffset());
6610 offsets->Assign(result); 6634 offsets->Assign(result);
6611 } 6635 }
(...skipping 5431 matching lines...) Expand 10 before | Expand all | Expand 10 after
12043 12067
12044 // Failing the original child frame navigation and trying to render fallback 12068 // Failing the original child frame navigation and trying to render fallback
12045 // content shouldn't crash. It should return NoLoadInProgress. This is so the 12069 // content shouldn't crash. It should return NoLoadInProgress. This is so the
12046 // caller won't attempt to replace the correctly empty frame with an error 12070 // caller won't attempt to replace the correctly empty frame with an error
12047 // page. 12071 // page.
12048 EXPECT_EQ(WebLocalFrame::NoLoadInProgress, 12072 EXPECT_EQ(WebLocalFrame::NoLoadInProgress,
12049 child->MaybeRenderFallbackContent(WebURLError())); 12073 child->MaybeRenderFallbackContent(WebURLError()));
12050 } 12074 }
12051 12075
12052 } // namespace blink 12076 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698