| Index: third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
|
| index 3c7563a06799a9ac1809dfc011f7f39982927d7c..64b37a14f0a444976ff1e7014d050968ca396dc7 100644
|
| --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
|
| @@ -394,7 +394,7 @@ DocumentMarkerVector DocumentMarkerController::MarkersInRange(
|
| static_cast<unsigned>(range.EndPosition().ComputeOffsetInContainerNode());
|
|
|
| for (Node& node : range.Nodes()) {
|
| - for (DocumentMarker* marker : MarkersFor(&node)) {
|
| + for (DocumentMarker* const marker : MarkersFor(&node)) {
|
| if (!marker_types.Contains(marker->GetType()))
|
| continue;
|
| if (node == start_container && marker->EndOffset() <= start_offset)
|
| @@ -429,7 +429,9 @@ Vector<IntRect> DocumentMarkerController::RenderedRectsForMarkers(
|
| if (!list || list->IsEmpty() || type != marker_type)
|
| continue;
|
|
|
| - for (RenderedDocumentMarker* rendered_marker : list->GetMarkers()) {
|
| + for (DocumentMarker* marker : list->GetMarkers()) {
|
| + RenderedDocumentMarker* const rendered_marker =
|
| + ToRenderedDocumentMarker(marker);
|
| UpdateMarkerRenderedRectIfNeeded(node, *rendered_marker);
|
| if (!rendered_marker->IsRendered())
|
| continue;
|
| @@ -459,18 +461,17 @@ void DocumentMarkerController::InvalidateRectsForMarkersInNode(
|
| const Node& node) {
|
| MarkerLists* markers = markers_.at(&node);
|
|
|
| - for (auto& marker_list : *markers) {
|
| - if (!marker_list || marker_list->IsEmpty())
|
| - continue;
|
| + const DocumentMarkerList* const marker_list =
|
| + ListForType(markers, DocumentMarker::kTextMatch);
|
| + if (!marker_list || marker_list->IsEmpty())
|
| + return;
|
|
|
| - const HeapVector<Member<RenderedDocumentMarker>>& markers_in_list =
|
| - marker_list->GetMarkers();
|
| - for (auto& marker : markers_in_list)
|
| - marker->Invalidate();
|
| + const HeapVector<Member<DocumentMarker>>& markers_in_list =
|
| + marker_list->GetMarkers();
|
| + for (auto& marker : markers_in_list)
|
| + ToRenderedDocumentMarker(marker)->Invalidate();
|
|
|
| - if (markers_in_list.front()->GetType() == DocumentMarker::kTextMatch)
|
| - InvalidatePaintForTickmarks(node);
|
| - }
|
| + InvalidatePaintForTickmarks(node);
|
| }
|
|
|
| void DocumentMarkerController::InvalidateRectsForAllMarkers() {
|
| @@ -480,7 +481,7 @@ void DocumentMarkerController::InvalidateRectsForAllMarkers() {
|
| if (!marker_list || marker_list->IsEmpty())
|
| continue;
|
|
|
| - const HeapVector<Member<RenderedDocumentMarker>>& markers_in_list =
|
| + const HeapVector<Member<DocumentMarker>>& markers_in_list =
|
| marker_list->GetMarkers();
|
| for (DocumentMarker* marker : markers_in_list)
|
| ToRenderedDocumentMarker(marker)->Invalidate();
|
| @@ -663,7 +664,7 @@ bool DocumentMarkerController::SetMarkersActive(Node* node,
|
| if (!list)
|
| return false;
|
|
|
| - const HeapVector<Member<RenderedDocumentMarker>>& markers_in_list =
|
| + const HeapVector<Member<DocumentMarker>>& markers_in_list =
|
| list->GetMarkers();
|
| // TODO(rlanday): this assumes that the markers are stored in sorted order.
|
| // This method should probably eventually be implemented by a
|
| @@ -702,7 +703,7 @@ void DocumentMarkerController::ShowMarkers() const {
|
| MarkerLists* markers = markers_.at(node);
|
| for (DocumentMarker::MarkerType type : DocumentMarker::AllMarkers()) {
|
| DocumentMarkerList* const list = ListForType(markers, type);
|
| - const HeapVector<Member<RenderedDocumentMarker>>& markers_in_list =
|
| + const HeapVector<Member<DocumentMarker>>& markers_in_list =
|
| list->GetMarkers();
|
| for (const DocumentMarker* marker : markers_in_list) {
|
| builder.Append(" ");
|
|
|